{ |n| "user#{n}" }
带有两根管子的花括号。我知道这是一个荒谬的问题,但是试图谷歌这种语法的名称已被证明是不可能的。
答案 0 :(得分:5)
它被称为块。 ruby中有两种类型的块。一种是大括号中的这种语法,第二种是do end
。这两者都是可以互换的,但花括号具有更高的优先级。因此,这些程序是可以互换的:
my_array.each do |element|
puts element
end
my_array.each {|element|
puts element
}
This post详细讨论了两者之间的区别,以及它们何时不可互换。
答案 1 :(得分:1)
这似乎被称为"code block"。
它似乎基本上是一个匿名函数。在这种情况下,n
是函数的参数。