[#44295] p "135790123456789".delete("357") #=> "190124689" — take_tk <ggb03124@...>
以下は独り言なのですが、よろしかったら、String#delete の仕様が現在のよう
4 messages
2007/12/02
[#44310] プログラムに対して意図したとおりの文字列を渡す方法 — "Information Kanasansoft" <kanasansoft@...>
kanasanです。
9 messages
2007/12/05
[#44313] Re: プログラムに対して意図したとおりの文字列を渡す方法
— Kazuhiro NISHIYAMA <zn@...>
2007/12/05
西山和広です。
[#44322] mork.rb — "S_Konno(今野 滋)" <sk@...>
今野です。
6 messages
2007/12/06
[#44332] クラス:相互参照系の作成方法について質問です — "Saburoh Sakai" <sabroh@...>
はじめまして、さかいと申します。
12 messages
2007/12/11
[#44352] 配列のシャッフル — Maehara Masahide (前原正英) <maehrm@...>
前原と申します。
13 messages
2007/12/18
[#44353] Re: 配列のシャッフル
— "Takehiro Nagai" <lukesilvia@...>
2007/12/18
永井と申します。
[#44366] Rake改善プロジェクト — "Hajime Hoshi" <hajimehoshi@...>
東京大学修士 1 年の星一と申します。
14 messages
2007/12/19
[#44367] Re: Rake 改善プロジェクト
— NISHIMATSU Takeshi <t_nissie@...>
2007/12/19
西松と申します。
[#44386] 「Rubyリファレンスマニュアル刷新計画」1.9.0リリース — "原 悠" <yhara@...>
「Ruby リファレンスマニュアル刷新計画」メンバーのyharaです。
4 messages
2007/12/25
[#44398] DateTimeクラスでの時間加算について — "西塔伸一郎" <sinsaihy@...>
お世話になっております。
5 messages
2007/12/27
[#44402] ruby-refm-1.9.0-dynamic : Ruby 1.9 でうごかない — <mugenkai_151e@...>
ruby-refm-1.9.0-dynamic
4 messages
2007/12/27
[ruby-list:44295] p "135790123456789".delete("357") #=> "190124689"
From:
take_tk <ggb03124@...>
Date:
2007-12-02 17:10:33 UTC
List:
ruby-list #44295
以下は独り言なのですが、よろしかったら、String#delete の仕様が現在のよう
になっている理由を教えてくださいませ。
http://www.ruby-lang.org/ja/man/?cmd=view;name=String;em=String#delete
>str の形式は tr(1) と同じです。
−−−−
#! ruby -Ks
require "jcode"
p :start
p "135790123456789".delete("357") #=> "190124689"
# "357" の並びの部分の削除を期待したのだが、
# "3","5","7"のすべてを削除している。
# 正規表現なら、
#「"357" の並びの部分」と
#「"3","5","7"のいずれか」とを区別ができるはずだと思ったのだが・・
#p "135790123456789".delete(/357/) #=> can't convert Regexp into String (TypeError)
#p "135790123456789".delete(/[357]/) #=> can't convert Regexp into String (TypeError)
p :split
p "135790123456789".split(/357/).join #=> "190123456789" ← これを期待した。
p "135790123456789".split(/[357]/).join #=> "190124689" ← 「"3","5","7"のいずれか」を削除
# バイトデータの配列扱いなので、配列と同じ仕様なのかと思ったら、
# 配列では全く異なった扱いになっている。
#p [1,3,5,7,9,0,1,2,3,4,5,6,7,8,9].delete([3,5,7]) #=> nil
#p [1,3,5,7,9,0,1,2,3,4,5,6,7,8,9].delete(3,5,7) #=> wrong number of arguments (3 for 1) (ArgumentError)
# trでは複数の文字のそれぞれを別の文字に置き換えるという合理性があるが・・
p "135790123456789".tr("357","三五七") #=> "1三五七9012三4五6七89" OK
# deleteでは合理的な理由が見つからない。
# trの第二引数のデフォルトを "" にすればよいじゃないか。
p "135790123456789".delete("357") #=> "190124689"
p "135790123456789".tr("357","") #=> "190124689"
#p "135790123456789".tr("357") #=> wrong number of arguments (1 for 2) (ArgumentError)
take_tk = kumagai hidetake