通过执行以下代码,它返回'Method',它表示Method类对象是什么?它有什么作用 ?为什么它无法实例化?它没有新的。
另外,我们如何将一个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
答案 0 :(得分:0)
Method
是您可以从Module
中提取的所有方法的类。如果要动态定义方法,请使用define_method
,因为无法定义未绑定的方法(即使有UnboundMethod
。您要查找的是Proc.new
来定义匿名方法。如果要绑定该方法,可以使用define_method(:method_name, &proc_you_defined)
。