■ 破壊的メソッドとは Stringクラスのインスタンスメソッドなどで定義されている、インスタンス自身を変更するメソッドです。 たとえば文字列の末尾に含まれる改行を消したい場合、 irb> text = "テスト\n" irb> text.chomp #=> "テスト" irb> text #=> "テスト\n" のように「chomp」メソッドを使って実現できます。このときインスタンスであるtext自体に変更はなく、「chomp」のあとにtextを呼び出すと改行がついたままであることが確認できます。 これに対して破壊的メソッド「chomp!」の場合は、 irb> text = "テスト\n" irb> text.chomp! #=> "テスト" irb> text #=> "テスト" と、text自体に変更が加わっていることがわかります。 本稿では、このような破壊的メソッドを自分で定義する