rubyメソッドの感嘆符の慣習

最近パーフェクトrubyを読んでいます。

自分の中で、新しい気づきが多いので、備忘録として書いています。

rubyの使われ方

感嘆符をつける意味は、注意を促すときに使用される傾向があります。

今回の例では、reverseメソッドで説明します。

reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。

instance method Array#reverse (Ruby 2.3.0)

x = '123'
p x.reverse   => '321'
p x           => '123'

p x.reverse!  => '321'
p x           => '321'

!を使用することで、破壊的メソッドであることを伝えています。

rails(ActiveRecord)の使われ方

処理に失敗した際に、「偽を返すメソッド」「例外を発生させるメソッド」がある場合、後者で使われます。

user.save   => 失敗するとfalseを返す
user.save!  => 失敗すると例外を発生させる

まとめ

rubyrails(ActiveRecode)では、感嘆符の使われ方が違います。

慣習の使い方を知ることで、意味が理解しやすくなります。

自分はrails(ActiveRecode)の使われ方を知らなかったので、参考になりました。

www.amazon.co.jp