2007年12月 4日

[ruby-list:44303] Re: p "135790123456789".delete("357") #=> "190124689"

なかだです。

At Tue, 4 Dec 2007 00:56:35 +0900,
take_tk wrote in [ruby-list:44299]:
> > subの第二引数のデフォルトを "" にする、というのはありかもしれま
> > せん。
>
> これもそうですね。

> gsub や sub で第二引数がデフォルトで "" になれば、ほぼ期待したものと同じ
> になりそうです。
>
> #p "135790123456789".delete(/357/) #=> can't convert Regexp into String (TypeError)
> #p "135790123456789".delete(/[357]/) #=> can't convert Regexp into String (TypeError)
> p :gsub
> p "135790123456789".gsub(/357/,"") #=> "190123456789" ← これを期待した。
> p "135790123456789".gsub(/[357]/,"") #=> "190124689" ← 「"3","5","7"のいずれか」を削除

deleteの引数が正規表現の場合にはgsub(re, "")にする、というのも思
い付きましたが、引数が複数の場合の動作を決めるのは難しそうです。

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

投稿者 xml-rpc : 2007年12月 4日 11:27
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67222
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。