From: Yukihiro Matsumoto Date: 2006-09-08T16:49:21+09:00 Subject: [ruby-dev:29530] Re: symbol and string まつもと ゆきひろです 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 で同じキーになるのも嫌な感じで |す。はい。 今までと違う以上「イヤな感じ」を持つ人がいるのは理解できます。 が、理由のほうに興味がありますね。こう不便だとか、こういう理 屈でそうあるべきでないとか。 akrさんは実際に動かなくなった例を示してくださいましたが、そ れなりに(納得して?)対応してくださったようですし。 | あと、 | :abc.sub(/a/, 'A') #=> :Abc |なのに、 | :abc.succ #=> "abd" |なのは、なんででしょう。統一するべきじゃないかと思います。 あ、:abc.sub(/a/, 'A')は文字列を返すべきですね。シンボルはGC の対象にならないので、安易に生成するとすぐにシンボルテーブル が脹れ上がる危険があるので、シンボルに対する文字列操作では文 字列を作るようにしています。 まつもと ゆきひろ /:|)