Rubyの破壊的メソッド
Rubyには"破壊的メソッド"というものがある。
調べてみると、「オブジェクトそのものを書き換えてしまうもの」らしい。
例) 文字列の空白を除去
破壊的メソッドの場合は「s = s.strip!」と表記しなくても、
そのままオブジェクトが書き換えられてしまう。
s.strip!だけでオブジェクトの中身が入れ替わってしまうので、
他の言語と比べると不思議な感覚がある。
調べてみると、「オブジェクトそのものを書き換えてしまうもの」らしい。
例) 文字列の空白を除去
s = " もじれつ"
puts s # もじれつ
#通常のメソッド
s = " もじれつ"
s = s.strip
puts s #もじれつ
# 破壊的メソッド
s = " もじれつ"
s.strip!
puts s #もじれつ
破壊的メソッドの場合は「s = s.strip!」と表記しなくても、
そのままオブジェクトが書き換えられてしまう。
s.strip!だけでオブジェクトの中身が入れ替わってしまうので、
他の言語と比べると不思議な感覚がある。