[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:1485

From: Kazuhiro NISHIYAMA <zn@m...>
Date: Mon, 01 Jun 2009 09:23:52 +0900
Subject: [ruby-reference-manual:1485] Re: r3502: specialvars

西山和広です。

At Mon, 25 May 2009 17:59:30 +0900,
okkez wrote:
> 
> +--- $stdin -> IO

> +--- $>      -> IO
> +--- $stdout -> IO

> +-- $defout  -> IO

> +--- $stderr -> IO

> +--- $deferr -> IO

StringIO なども代入できるので、IO とは限らないのではないでしょうか。



# $SAFE が本当に Fixnum だけなのか調べてみたらちょっと不思議な挙動を発見。

実装を見ると NUM2INT なのに i686 だと long に変換できないと出る。
% ruby18 -ve '$SAFE=2<<30'
ruby 1.8.8dev (2009-05-09 revision 23381) [i686-linux]
-e:1: bignum too big to convert into `long' (RangeError)
%

% ruby18 -ve '$SAFE=2<<30'
ruby 1.8.8dev (2009-05-09 revision 23381) [x86_64-linux]
-e:1: integer 2147483648 too big to convert to `int' (RangeError)
%

謎の SAFE_LEVEL_MAX。(trunk だと 4)
% ruby18 -ve 'p proc{$SAFE=(2<<30)-1;$SAFE}.call'
ruby 1.8.8dev (2009-05-09 revision 23381) [i686-linux]
28672
%

-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    1485 2009-06-01 02:23 [zn@m...             ] Re: r3502: specialvars                  
      1487 2009-06-01 08:11 ┗[okkez000@g...       ]                                       
      1488 2009-06-01 08:22  ┗[okkez000@g...       ]