[#48450] 1.8.7と1.9.2の挙動の違いについて — "Jun'ya Shimoda" <jun-shimo@...>

下田です。

13 messages 2011/10/09

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

From: "5.5" <5.5@...>
Date: 2011-10-20 12:56:38 UTC
List: ruby-list #48484
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@moji.gr.jp

In This Thread

Prev Next