2
所以这种模式:传递块作为方法参数死在红宝石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。
我做错了吗?
所以这种模式:传递块作为方法参数死在红宝石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。
我做错了吗?
你不需要拉姆达只是块:
def foo(&block)
block.call
end
foo { puts 'hi' }
如果你想传递一个进程,使用普通的参数:
def foo(ohai)
ohai.call
end
foo lambda { puts 'hi' }