我将一个方法作为参数传递给一个被调用的函数:
def my_function(args1)
puts args1
end
def my_calling_method
self.my_function(def do_this
return 2*3
end)
end
当我打电话my_calling_method
给 时my_function
,我得到args1
的是 nil 而不是def do_this return 2*3 end
。
我做错什么了吗?我们可以在 Ruby 中将方法作为参数传递吗?
好吧,我现在尝试为我的要求实现一个 Proc,但我很难将它传递给调用方法。
my_Proc = Proc.new do
return 2*3
end
def my_calling_method
self.my_function
end
def my_function my_Proc
my_Proc.call
end
我使用的参考资料像我一样将 Proc 作为参数传递给方法,但是我收到错误,零参数传递给 my_function,因为我没有通过 my_calling_method 传递任何参数。