Что такое метод класса Object в Ruby? Что оно делает ? Почему это не может быть создано? - PullRequest
0 голосов
/ 06 декабря 2011

Выполнив следующий код, он возвращает «Метод», который указывает на объект класса «Метод». Что это? Что оно делает ? Почему это не может быть создано? У него нет нового. Также, как мы можем добавить метод new в качестве конструктора к объекту класса Method?

proc_obj = -> {puts "Hello Lambda"}

def pass_lambda proc
  puts "Begin"
  proc.yield
  puts "End"
end

pass_lambda proc_obj

puts proc_obj.method(:call).class

1 Ответ

0 голосов
/ 06 декабря 2011

Method - это класс всех методов, которые вы можете извлечь из Module.Если вы хотите определять методы динамически, используйте define_method, так как методы не могут быть определены как несвязанные (даже если есть UnboundMethod. То, что вы ищете, это Proc.new для определения анонимного метода. Если вы хотитепривязать этот метод, вы можете использовать define_method(:method_name, &proc_you_defined).

...