ruby の破壊的メソッドについて
#11 破壊的メソッドとは?
http://dotinstall.com/lessons/basic_ruby/4711
を参考に、
!のついた破壊的メソッドについて学習
破壊的メソッドとは
s =”hello”
s1 = s.upcase
p s
p s1とすると
s1 では .upcaseにより
すべて大文字 変換される
この
s1 = s.upcase!
というように、! をつけると
破壊的メソッドになる
これは
普通、
変数 = 値の場合、代入になるだけだけど
破壊的メソッドをつかうと、元の値まで上書きする
s = “hello”
s1 =s.upcase
p s
p s1
の場合だと
“hello”
“HELLO”
というように、見慣れた結果になるけど
s = “hello”
s1 =s.upcase!
p s
p s1
だと
“HELLO”
“HELLO”
というように、代入前の値も変更されるようになる
関数のリファレンスの
http://www.ruby-doc.org/core-1.9.3/String.html
の中にもいくつか、!がついているのがあり
これらは破壊的メソッドを意味している