[#39548] [Bug #2291] Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる — Akira Matsuda <redmine@...>

Bug #2291: Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる

10 messages 2009/10/27

[#39592] infinite recursive call to C function — Yusuke ENDOH <mame@...>

遠藤です。

17 messages 2009/10/30
[#39596] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/10/30

まつもと ゆきひろです

[#39599] Re: infinite recursive call to C function — Nobuyoshi Nakada <nobu@...> 2009/11/02

なかだです。

[#39601] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/11/02

まつもと ゆきひろです

[ruby-dev:39474] BigDecimal#to_i/to_int の挙動について

From: KAKUTANI Shintaro <shintaro@...>
Date: 2009-10-13 07:43:24 UTC
List: ruby-dev #39474
かくたにです。

rubyspec を1.8ターゲットで動かしていて、標記のspecが手元では通らないことに気づきました。
何が正しいのか自分ではわからないので教えてもらえるとうれしいです。

BigDecimalで InfinityとNaN を to_i/to_int すると、
手元の環境では次のようになりました:
(動かしているバージョンが少し前のもので恐縮です)

$ /usr/bin/ruby -v -rbigdecimal -e '%w[Infinity NaN].each{|s| v = BigDecimal.new(s); i = v.to_i rescue $!.class; print "#{v}:";p i}'
ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
Infinity:nil
NaN:nil
 
$ ruby -v -rbigdecimal -e '%w[Infinity NaN].each{|s| v = BigDecimal.new(s); i = v.to_i rescue $!.class; print "#{v}:";p i}' 
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9]
Infinity:FloatDomainError
NaN:FloatDomainError
 
$ ruby19 -v -rbigdecimal -e '%w[Infinity NaN].each{|s| v = BigDecimal.new(s); i = v.to_i rescue $!.class; print "#{v}:";p i}'
ruby 1.9.2dev (2009-10-05 trunk 25235) [i386-darwin9.8.0]
Infinity:FloatDomainError
NaN:FloatDomainError

るりまの記述は1.8も1.9も「Infinity や NaN のとき、i は nil になります」でした。
http://doc.okkez.net/187/view/method/BigDecimal/i/to_i
http://doc.okkez.net/192/view/method/BigDecimal/i/to_i

手元で失敗したspecは、
http://github.com/rubyspec/rubyspec/blob/master/library/bigdecimal/shared/to_int.rb
の5行目と6行目です。

-- 
{ :name: ["KAKUTANI", "Shintaro"],
  :email: shintaro@kakutani.com, :website: http://kakutani.com/ }

In This Thread

Prev Next