From: Masatoshi SEKI Date: 2006-09-08T19:52:10+09:00 Subject: [ruby-dev:29532] Re: symbol and string 咳といいます。 On 2006/09/08, at 16:49, Yukihiro Matsumoto wrote: > まつもと ゆきひろです > > In message "Re: [ruby-dev:29529] Re: symbol and string" > on Fri, 8 Sep 2006 16:20:28 +0900, SASADA Koichi writes: > > | 違うもの、ということに一票。 > | > | String のメソッドが使えることは、多分悪いことは無いと思いますが、 > |Symbol と String は「別物」と思っています。 > | > | :foo == "foo" #=> false なので、Hash で同じキーになるのも嫌な感じで > |す。はい。 > > 今までと違う以上「イヤな感じ」を持つ人がいるのは理解できます。 > が、理由のほうに興味がありますね。こう不便だとか、こういう理 > 屈でそうあるべきでないとか。 同値でないのにHashのキーが同一と扱われるのは、 StringとSynbolの関係だけになりますか? その他のクラスでもそのような例はありますか? ユーザ定義のクラスで同値でないものを同じキーとして扱うよう Hashに指示する(?)ことも出来るのでしょうか。 キー用の同値検査メソッドが増えるとか。 > あ、:abc.sub(/a/, 'A')は文字列を返すべきですね。シンボルはGC > の対象にならないので、安易に生成するとすぐにシンボルテーブル > が脹れ上がる危険があるので、シンボルに対する文字列操作では文 > 字列を作るようにしています。 ふむ。 SymbolがGC対象にならないのは変わらないのですね。