2011年10月20日

[ruby-list:48484] Windows で $0 へ代入すると刈り取られる

5.5 です。

Windows(MinGW 版)で $0 に文字列を代入すると,ある長さで刈り取られる
ようなのですが,そういうものなのでしょうか?

以下のスクリプトを用意します。

foo.rb

-----
$0="12345678901234567890"
p $0
-----

以下のような結果になります。

◎ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]

F:\>ruby foo.rb
"1234567890"

F:\>ruby -r foo.rb -e ""
"12345678901234"

F:\>ruby -r foo -e ""
"12345678901"

◎ruby 1.9.2p290 (2011-07-09) [i386-mingw32]

F:\>ruby foo.rb
"123456789"

F:\>ruby -r ./foo.rb -e ""
"123456789012345"

F:\>ruby -r ./foo -e ""
"123456789012"


ファイル名を fo.rb のように 1 文字短くすると,出力される文字列の長さは
いずれも 1 文字短くなります。
したがって,元の $0 の長さと何らかの関係があるのようにも思えます。

--
5.5@xxxxx


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




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