ruby-reference-manual:3018
From: kouyataifu4 <kouyataifu4@g...>
Date: Sun, 25 Mar 2012 12:21:00 +0900
Subject: [ruby-reference-manual:3018] Re: [るりまプロジェクト - Bug #6196][Open] Integer#chrにおける省略可能な引数の抜けとそれに伴う説明の誤り
ども、kouyaです。
手元の環境 (1.9.1,1.9.2,1.9.3,2.0.0) で下記スクリプトで確認してみました。
修正案の通りに修正してよいと思います。
# バージョン間で若干の例外メッセージが違うみたいですが…
スクリプト
p 65.chr # => "A"
p 0x79.chr
p 0x79.chr.encoding # => #<Encoding:US_ASCII>
p 0x80.chr
p 0x80.chr.encoding # => #<Encoding:ASCII_8BIT>
p 12354.chr Encoding::UTF_8 # => "あ"
begin
p 12354.chr Encoding::EUC_JP
rescue RangeError => err
p err
end
begin
p 12354.chr Encoding::ASCII_8BIT
rescue RangeError => err
p err
end
begin
p((2**32).chr)
rescue RangeError => err
p err
end
ruby 1.9.1p431 (2011-02-18 revision 30908) [i386-darwin11.3.0]
"A"
"y"
#<Encoding:US-ASCII>
"\x80"
#<Encoding:ASCII-8BIT>
"あ"
#<RangeError: 12354 out of char range>
#<RangeError: 12354 out of char range>
#<RangeError: 4294967296 out of char range>
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.3.0]
"A"
"y"
#<Encoding:US-ASCII>
"\x80"
#<Encoding:ASCII-8BIT>
"あ"
#<RangeError: 12354 out of char range>
#<RangeError: 12354 out of char range>
#<RangeError: integer 4294967296 too big to convert to `unsigned int'>
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]
"A"
"y"
#<Encoding:US-ASCII>
"\x80"
#<Encoding:ASCII-8BIT>
"あ"
#<RangeError: invalid codepoint 0x3042 in EUC-JP>
#<RangeError: 12354 out of char range>
#<RangeError: 4294967296 out of char range>
ruby 2.0.0dev (2012-03-10 trunk 34960) [x86_64-darwin11.3.0]
"A"
"y"
#<Encoding:US-ASCII>
"\x80"
#<Encoding:ASCII-8BIT>
"あ"
#<RangeError: invalid codepoint 0x3042 in EUC-JP>
#<RangeError: 12354 out of char range>
#<RangeError: 4294967296 out of char range>
--
kouya
--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/
3017 2012-03-23 17:13 [tomonacci@g... ] [るりまプロジェクト - Bug #6196][Open] Integer#chrにおける省略可能な引数の抜けとそれに伴う説明の誤り -> 3018 2012-03-25 05:21 ┗[kouyataifu4@g... ]