শুধু আমার মাথা পেতে রুবি metaprogramming। মিক্সিন / মডিউলগুলি সর্বদা আমাকে বিভ্রান্ত করার জন্য পরিচালনা করে।
- অন্তর্ভুক্ত : টার্গেট ক্লাসে উদাহরণ পদ্ধতি হিসাবে নির্দিষ্ট মডিউল পদ্ধতিতে মিশ্রণ
- প্রসারিত : নির্দিষ্ট ক্লাসের লক্ষ্য শ্রেণীর শ্রেণি হিসাবে নির্দিষ্ট মডিউল পদ্ধতিতে মিশ্রিত
সুতরাং প্রধান পার্থক্য ঠিক এই বা একটি বড় ড্রাগন লুকিয়ে আছে? যেমন
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!"