From: Daisuke Yamazaki Date: 2006-06-10T19:17:20+09:00 Subject: [ruby-list:42379] Re: String#count, String#deleteの利用想定 こんにちは山崎です. On Sat, 10 Jun 2006 13:33:25 +0900 石井 大海 wrote: > On 2006/06/10, at 12:04, Daisuke Yamazaki wrote: > > > String#count, String#deleteの想定している利用方法に > > ついて質問があります. > > > > String#count > > String#delete > > > > は「引数を複数指定した場合は、すべての引数の積集合を意味します」 > > とあります. > > > > http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=String#count > > http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=String#delete > > > > これはどのようなケースの時に威力を発揮するんでしょうか? > > 例えば、"1234567890"と言う文字列から、2,3を除く > 0-4迄の数字を取り除きたいとき、 > "1234567890".delete("^2-30-4")の様にしても、"12340"が返っ > てきて、期待通りになりません。 > "1234567890".delete("^2-3", "0-4")とすれば、期待通りになります。 なるほど!否定との組み合わせは便利そうですね. > 或いは、削除したい対象の配列aryが有った場合、 > "1234567890".delete(*ary) > と出来るのもありますね。 これなんですが,例えば"1234567890".delete("1","2") とかやると"1","2"の積集合はφなのでなにも削除されない 結果になると思います.私の個人的な感覚だと "1234567890".delete("1","2") -> "1234567890".delete("12") なのですが,なぜ和集合ではなく積集合で,どういうケースで 役に立つんだろうと思ったのが疑問の発端だったんです. -- Daisuke Yamazaki