`{ ... }` と `do ... end` の違いと使い分けるべきシーン
ブロック付きメソッド呼び出しを記述する際には { ... }
あるいは do ... end
を使うと思います。
しかしこれらは厳密にいうと異なります。
その違いは 結合強度 です。
{ ... }
の場合
some_method other_method { ... }
この式は次のように解釈されます。
some_method(other_method{ ... })
do ... end
の場合
some_method other_method do ... end
この式は次のように解釈されます。
some_method(other_method) do ... end
使い分けるべきシーン
{ ... }
を使うべき
do ... end
を使うべき
- 上記以外の場合、基本こちらを使うべき。
Ref.
- 初めてのRuby