Block Terminator どうしようリスト

end の利点2つを省略してしまった。
というのは「ブロックをとる式」がわからなかったから。orz


def m
yield
end

puts "a" + m{"b"} + "c"


が出来るって意味じゃないよね? よくわかりませんでした。

一応、訳は用意しているんですけど...

  • ブロック終端を明示するおかげで「ブロックをとる式」を書くことができる。 これはブロックが文にしかなりえない Python よりも優れた点である。
  • もちろん同様のことは「{ ... }」を使って実現できるわけだが、 「case ... when ...」や「begin ... rescue ...」のような ブロックの途中に節があるタイプの文構造が醜くなりがち。
  • Because "end" means block end obviously, a block can be an expression. This point is superior to Python whose block is nothing but statement.(追加)
  • Of course, you can do the same thing by using "{ ... }", but "end" is more beautiful than that in case that a block has multiple paragraphs such as "case ... when ..." and "begin ... rescue ...".

ちょっと難しス。


あ! 最新のスナップショットで試さなきゃ。(CVS は使えない)
試した。