健康意識の高まり

いろんなメモなど

ブロック付きメソッドに「do end」で渡すときと「{}」で渡すときの違い

初めてのRuby より。結合強度が違うだけ。

some_method other_method do … end

以下のように解釈される。

result = other_method
some_method( result ) doend

some_method other_method { … }

これは以下のように解釈される。

result = other_method { … }
some_method( result )

初めての Ruby によると、

結合強度の違いが意味を持つようなコードは、このように2つの式に分割すべきとしていますね。
「あれ、どっちだったっけ?」という場合があるので。
まぁでも原則、各々のコーディング規約に則れ、という感じですね。

map や sort に { … } を渡すと perl っぽいなぁと思いました。