アマグラミング

プログラミング初心者が勉強したことを復習とメモがてら書いているだけです。

(65)delete,delete!メソッドについて学ぼう。

指定した文字列を削除する方法を勉強しましょう。

 

deleteメソッドを使います。

 

書き方は例文を見てください。

 

abc = "ほにゃらら"
p abc
efg = abc.delete("ほら")
p efg
p abc

cba = "banana"
gfe = cba.delete("an")
p gfe

 

こう書いてみました。

実行してみると

f:id:tiroru17:20170623033911p:plain

こうなった。

 

"ほ"だけ指定したら

にゃららになるんだけど、"ら"も指定したかったんよ。

でどうやるのか調べたらカンマで区切るって言うんだけど、

カンマで区切ると「ほ」も「ら」も削除しなかった。

というわけいろいろ試行錯誤して書いてみたら

ほとらを両方削除させるには"ほら"って書くと両方消してくれる。

この書き方だと普通は「ほら」って連続した文字列の場合削除すると

思うんだけど・・・関係なく、ほとらを削除する。

 

へんなの。

変数abcも書き換えられているわけでもないし、

そもそもの用途がよくわからない。

 

delete!メソッドについても説明すると

 

書き方は下を見てね。

abc = "ほにゃらら"
p abc
abc.delete!("ほら")
p abc

 

実行すると

f:id:tiroru17:20170623034859p:plain

 

delete!メソッドは元の変数を書き換えてる。

こういうのを破壊的メソッド、と言うんだったと思う。

ただ短い文なら普通に変数を更新してしまえばいいと思うけど。