这个语法叫什么? {| n | “用户#{n}”}

时间:2018-05-02 00:08:59

标签: ruby syntax

{ |n| "user#{n}" }

带有两根管子的花括号。我知道这是一个荒谬的问题,但是试图谷歌这种语法的名称已被证明是不可能的。

2 个答案:

答案 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是函数的参数。