こんばんは、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 / ruby-lang.org>
日付: 2008/07/31 8:59
件名: [ReferenceManualRenewalProject - Bug #379] (Open) String#intern
は空文字列に使えない(Ruby 1.8) -- Ruby 1.9 は違うのでは
宛先: ruby-reference-manual / ml.fdiary.net


チケット #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