[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

こんにちは、なかむら(う)です。

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29538] Re: symbol and string

From: Yukihiro Matsumoto <matz@...>
Date: 2006-09-08 14:44:40 UTC
List: ruby-dev #29538
まつもと ゆきひろです

In message "Re: [ruby-dev:29535] Re: symbol and string"
    on Fri, 8 Sep 2006 22:48:22 +0900, SASADA Koichi <ko1@atdot.net> writes:

| とりあえず感覚的に「ありえねー」と思うので,それじゃ理由になんないです
|よねぇ.

そうですねえ。とりあえずSmalltalkではこうなってますしね。

| Lisp なんかでは,この辺ってどうなんでしょう.eq*? な関数でシンボルが同
|じ値を返すことはあるんでしょうか.

ComminLispはstring-*な関数は文字列もシンボルも受け付けますね。

| 実は,Symbol に統一するのがいいんじゃないかと思っておりました.このコ
|ンテキストでは Symbol が返ってくる事をなんとなく期待しませんか? String
|系のメソッドは,:sym.to_s.foo の短縮形と覚えるべきでしょうか.でも,foo
|が String 系のメソッドだったっけ,と覚えるのが大変そうです.
|
| もし,これらの理由が「Symbol は GC しないから」ということなら,Symbol
|を GC するように検討してみるのはどうでしょうか(薮蛇かも).

SymbolをGCですか。できるのかな。

| 今回の変更で,SPECIAL_CONST_P(sym) == 0 になったので,なんとななるん
|じゃないのかなー,と,なんとなく思っているんですが,甘いでしょうか.mark
|するところがちょっと増えるだけかな,とか思ってるんですが.うーん,Symbol
|にしないで ID だけ使っているものもあるので,やっぱり難しいか? 

IDを取り出す時点でSymbolは作ってますから、「Symbol にしない
で ID だけ使っている」ものはないんですが、IDしか保持していな
いケースは結構あります。IDとSymbolのunifyを実現しないとGCは
実装できないような気がします。

そうすると、

  rb_funcall(obj, '+', obj2)

のようなのを全部

  rb_funcall(obj, rb_intern("+"), obj2)

に置き換えないといけませんねえ。

|rb_intern で作ったオブジェクトと,Symbol オブジェクトとして作ったオブ
|ジェクトを分ける(前者には消さないフラグを着けておくとか)なんてどうか
|な,とか思いました.とりとめもないですが.

うーん、いくつかのSymbolはリザーブする手はありえるかもしれま
せんねえ。

In This Thread