代码之家  ›  专栏  ›  技术社区  ›  Gabriel Ščerbák

如何用一个参数简化ruby块?

  •  1
  • Gabriel Ščerbák  · 技术社区  · 15 年前

    在某个地方,我看到了一种用一个参数简化ruby块的方法,它基本上省略了竖线和参数声明,因为它以某种方式是内联的。

    我再也找不到它了,也记不起要找的名字了。

    1 回复  |  直到 10 年前
        1
  •  7
  •   molf    15 年前

    在一些情况下,有一种简单化的方法。

    如果你有这样的东西:

    (1..10).collect { |i| i.to_s }
    

    您可以将其简化为:

    (1..10).collect(&:to_s)
    

    这个 & 通过调用 Symbol#to_proc . 它不能与其他参数一起使用,而且它只在希望直接对块参数调用方法时才起作用。它是 introduced 在rails(activesupport)中,但进入了核心ruby 1.8.7和1.9。