Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | メソッド | 破壊的メソッド(bang method)

パンくず

Ruby
破壊的メソッド(bang method)

概要

Rubyの破壊的メソッド(bang method)について

内容

Rubyでは慣習として、レシーバーを変更するメソッド(破壊的メソッド)を
定義する際には感嘆符を末尾に付与します。

method_name!

下記は、Stringクラスの末尾の文字を削除するメソッドの不変版(immutable)と破壊版(bang)です。

サンプルコード

str = "hoge"
puts str # => 変更前のhoge
puts str.chop # => hogeの最後の一文字を除去。元の変数はそのまま
puts str # => 変更前のhogeのままであることを確認
str = "hoge".chop! # => 元のhogeの最後の一文字を除去
puts str # => 元の変数ごと変更されたことを確認