[英]Passing block as method argument is dying in Ruby 1.9.3
所以这个模式:
def foo(&block)
block.call
end
foo lambda { puts 'hi' }
结果是这样的:
wrong number of arguments (1 for 0) (ArgumentError)
使用Ruby 1.9.3。
我做错了吗?
您不需要lambda,只需块:
def foo(&block)
block.call
end
foo { puts 'hi' }
如果要传递proc,请使用常规参数:
def foo(ohai)
ohai.call
end
foo lambda { puts 'hi' }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.