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! => 失敗すると例外を発生させる
まとめ
rubyとrails(ActiveRecode)では、感嘆符の使われ方が違います。
慣習の使い方を知ることで、意味が理解しやすくなります。
自分はrails(ActiveRecode)の使われ方を知らなかったので、参考になりました。