在值域 (1…5) 上调用 each 方法,然后又把 { |i| puts 2 * i } 这个块传给 each 方法。
|i| 两边的竖线在 Ruby 中用来定义块变量。只有方法本身才知道如何处理后面跟着的块。
这里,值域的 each 方法会处理后面的块,块中有一个局部变量 i,each 会把值域中的各个值传进块中,
然后执行其中的代码。
花括号是表示块的一种方式,除此之外还有另一种方式:
结果和上面的一样
块中的内容可以多于一行,而且经常多于一行。
当块只有 一行简单的代码时 使用 花括号 形式;
当块是一行很长的代码,或者有多行时使用 do…end 形式:
CSDN搜索:Ruby语法基础