Ruby调用了块的集合

  • 本文关键字:集合 调用 Ruby ruby
  • 更新时间 :
  • 英文 :


假设我通过执行构建了一个可调用对象数组

callables = []
callables << block1
callables << block2
callables << block3
callables << block4

稍后我想把这些块称为。我知道我可以做

callables.each { |block| block.call }

但我想知道我是否可以通过调用这样的东西来使它变得更简单

callables.each :call

我已经尝试了上面的代码,但得到了ArgumentError。ruby支持这种语法吗?

您应该尝试:

callables.each &:call

Array#each不接受任何参数。这就是为什么在编写callables.each :call:call时,符号作为参数传递给方法each。但是,当您在:call前面加上&时,each知道您正在给它一个作为参数,所以它会起作用。

最新更新