Termasuk
Ketika Anda include
sebuah modul ke dalam kelas Anda, seolah-olah Anda mengambil kode yang ditentukan dalam modul dan memasukkannya ke dalam kelas, di mana Anda 'memasukkannya'. Ini memungkinkan perilaku 'mixin'. Ini digunakan untuk MENINGGALKAN kode Anda untuk menghindari duplikasi, misalnya, jika ada beberapa kelas yang akan membutuhkan kode yang sama dalam modul.
module Log
def class_type
"This class is of type: #{self.class}"
end
end
class TestClass
include Log
# ...
end
tc = TestClass.new.class_type # -> success
tc = TestClass.class_type # -> error
Memerlukan
Metode yang diperlukan memungkinkan Anda untuk memuat perpustakaan dan mencegahnya dimuat lebih dari sekali. Metode yang disyaratkan akan mengembalikan 'false' jika Anda mencoba memuat pustaka yang sama setelah pertama kali. Metode yang diperlukan hanya perlu digunakan jika pustaka yang Anda muat didefinisikan dalam file terpisah, yang biasanya merupakan kasus.
Jadi itu melacak apakah perpustakaan itu sudah dimuat atau tidak. Anda juga tidak perlu menentukan ekstensi ".rb" dari nama file perpustakaan. Berikut adalah contoh cara menggunakan yang diperlukan. Tempatkan metode yang diperlukan di bagian paling atas file ".rb" Anda:
Beban
Metode pemuatan hampir seperti metode yang disyaratkan kecuali tidak melacak apakah pustaka telah dimuat atau tidak. Jadi mungkin untuk memuat pustaka beberapa kali dan juga saat menggunakan metode pemuatan, Anda harus menentukan ekstensi “.rb” dari nama file pustaka.
Memperpanjang
Saat menggunakan metode extended alih-alih menyertakan, Anda menambahkan metode modul sebagai metode kelas alih-alih sebagai metode instan.
module Log
def class_type
"This class is of type: #{self.class}"
end
end
class TestClass
extend Log
# ...
end
tc = TestClass.class_type
require
daninclude
, dan juga yang relevanModule#append_features
,.