假设我有一个方法foo
,它需要一个lambda参数。 lambda由foo
用参数调用。我实际上并不希望在执行lambda时发生任何事情。
目前,我这样做:
foo(->(*) {})
这看起来有点丑陋,我不得不相信有一种更优雅和易读的方式来编写这种内置于Ruby语言中。
是否有更好的方法来传递'无所事事'的lambda?
我建议改为重新思考foo
。
话虽如此,我认为没有更优雅的方式,但如果你真的想要你可以添加这样的东西(我认为这比你的东西更丑)
module Kernel
def noop
Proc.new {}
end
end
然后打电话给
def foo(blk)
blk.call(1,2,3,4,5)
end
foo(noop)
#=> nil