From: "Yugui (Yuki Sonoda)" Date: 2008-12-09T10:49:54+09:00 Subject: [ruby-dev:37326] Re: Proposal to always define Encoding::INTERNAL; was: Re: m17n of irb Yuguiです。 Yukihiro Matsumoto さんは書きました: > setterで定数の値が変わるんでしょうか。 > > 個人的にはむしろEncoding::INTERNAL定数を削除した方がよいので > はないかと思いますが。あと、"internal"エンコーディングの値が > setterによって変化するかどうかも気になりますね。 あー、確かにEncoding.internal_encoding= で一見無関係な定数の値が書き換わ るのはかなり異様なものがありますね。そのほうが良さそうです。 対称性の意味で、Encoding::EXTERNAL定数はどうお考えでしょうか? "internal"エンコーディングの値、というのは Encoding.find("internal") の意でしょうか? これは設定されれば一緒に変化すべきだと思います。一方 で、既に取得されてEncodingオブジェクトの形で得られているinternalエンコー ディングは変化すべきでないと思います。 また、現状でdefault_internalが設定されていないと ArgumentError: unknown encoding name - internal です。これは、Encoding::INTERNALが(もし定義されることになっていたならば) 常に定義されるべきであったのと同じ理由で、常に取得できるべきだと思いま す。さもなくば、 enc && enc == 'internal' ? Encoding.find(enc) : Encoding.default_internal というイディオムが無意味にはびこるだけでしょう。 -- Yugui http://yugui.jp 私は私をDumpする