define_method - це метод в мові програмування Ruby, який дозволяє динамічно визначати нові методи у класах або модулях. Це дозволяє програмістам створювати методи на “льоту”, що може бути дуже корисним для гнучкої конструкції програми. Зазвичай define_method
використовується в метакласах або в метапрограмуванні для створення методів під час виконання програми з динамічною поведінкою.
Ось приклад використання define_method
для визначення нового методу у класі:
class MyClass
define_method :my_dynamic_method do |arg1, arg2|
puts "This is my dynamic method with arguments #{arg1} and #{arg2}."
end
end
obj = MyClass.new
obj.my_dynamic_method("hello", "world")
Цей код створить новий метод my_dynamic_method
у класі MyClass
, який приймає два аргументи і виводить рядок з цими аргументами.