{ |n| "user#{n}" }
Run Code Online (Sandbox Code Playgroud)
带两根管子的花括号.这是一个荒谬的问题,我知道,但试图谷歌这个语法的名称已被证明是不可能的.
它被称为块.ruby中有两种类型的块.一种是花括号中的这种语法,第二种是do end.这两者都是可以互换的,但花括号具有更高的优先级.因此这些程序是可以互换的:
my_array.each do |element|
puts element
end
my_array.each {|element|
puts element
}
Run Code Online (Sandbox Code Playgroud)
这篇文章详细讨论了两者之间的区别,以及它们何时不可互换.