2008年7月31日

[ruby-list:45289] Fwd: [ReferenceManualRenewalProject - Bug #379](Open) String#intern は空文字列に使えない(Ruby 1.8) -- Ruby 1.9 は違うのでは

こんばんは、kouyaです。

Stringのリファレンスマニュアルを書いています。
ruby 1.9 での下記の動作は1.8とは異なるようですが、
仕様がかわったということでよろしいでしょうか。

よろしくお願いします。

$ ruby -ve 'p "".intern'
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.0]
-e:1:in `intern': interning empty string (ArgumentError)
from -e:1
$ ruby-1.9.0-0 -ve 'p "".intern'
ruby 1.9.0 (2007-12-25 revision 14709) [i686-darwin9.2.0]
:""


---------- 転送されたメッセージ ----------
差出人: Anonymous <redmine@xxxxx>
日付: 2008/07/31 8:59
件名: [ReferenceManualRenewalProject - Bug #379] (Open) String#intern
は空文字列に使えない(Ruby 1.8) -- Ruby 1.9 は違うのでは
宛先: ruby-reference-manual@xxxxx


チケット #379 が報告されました。 (by Anonymous)

----------------------------------------
Bug #379: String#intern は空文字列に使えない(Ruby 1.8) -- Ruby 1.9 は違うのでは
http://redmine.ruby-lang.org/issues/show/379

起票者: Anonymous
ステータス: Open
優先度: Normal
担当者: taifu kouya
カテゴリ: doc
Target version:
reporter: rock
ruby_version: 1.8,1.9


Bug #370 で,
Ruby 1.8 では,"".intern がエラーになりますが,そのことが String#intern に書いてありません。
と書いたところ,修正してくださったのですが,全バージョンで同じように直されています。
しかし,手許の Ruby 1.9 では,"".intern はエラーにならず,:"" が返されます。仕様が変わった
のではないでしょうか。
なお,ArgumentError が発生する条件を [EXCEPTION] のところに記述しているので,本文中の
ナルキャラクタ ("\0") を含む文字列を intern すると例外 ArgumentError が発生します。
は不要ではないでしょうか。(残すのならこちらにも空文字列のことを書くべきでしょう)

※メンバー外の者はチケットに注記できないようなので,コピーで失礼します。


----------------------------------------
http://redmine.ruby-lang.org

--
kouya


投稿者 xml-rpc : 2008年7月31日 19:33
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75882
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。