Pages

2008/10/27

Rubyの破壊的メソッド

Rubyには"破壊的メソッド"というものがある。
調べてみると、「オブジェクトそのものを書き換えてしまうもの」らしい。

例) 文字列の空白を除去

s = " もじれつ"
puts s # もじれつ

#通常のメソッド
s = " もじれつ"
s = s.strip
puts s #もじれつ

# 破壊的メソッド
s = " もじれつ"
s.strip!

puts s #もじれつ

破壊的メソッドの場合は「s = s.strip!」と表記しなくても、
そのままオブジェクトが書き換えられてしまう。
s.strip!だけでオブジェクトの中身が入れ替わってしまうので、
他の言語と比べると不思議な感覚がある。
Related Posts Plugin for WordPress, Blogger...