无法区分块的位置/此函数是否有块

时间:2017-11-21 04:20:41

标签: ruby

我的印象是,在编写函数时,该块是doend之间的内容。

(1..5).each do |i|
  puts 2 ** i
end

所以在上面的函数中,块部分是否包含以下内容?

|i| puts 2 ** i

1 个答案:

答案 0 :(得分:3)

你正在玩文字。这是一个定义问题。通常,该块包含doend。整体:

do |i|
  puts 2 ** i
end

是块。但是因为一个块不是Ruby中的一个对象(与proc不同),所以无论你称之为块,它都没有太大区别。