Hanya memusatkan kepalaku pada pemrograman Ruby. Modul / mixin selalu berhasil membingungkan saya.
- termasuk : campuran dalam metode modul yang ditentukan sebagai metode instance di kelas target
- extended : mencampur metode modul yang ditentukan sebagai metode kelas di kelas target
Jadi apakah perbedaan utama hanya ini atau apakah naga yang lebih besar mengintai? misalnya
module ReusableModule
def module_method
puts "Module Method: Hi there!"
end
end
class ClassThatIncludes
include ReusableModule
end
class ClassThatExtends
extend ReusableModule
end
puts "Include"
ClassThatIncludes.new.module_method # "Module Method: Hi there!"
puts "Extend"
ClassThatExtends.module_method # "Module Method: Hi there!"