[ruby-dev:49424] [Ruby trunk - Bug #11804] 52931 以降、caseでInfinityを使用するとFloatDomainErrorが発生する
From:
spiketeika@...
Date:
2015-12-11 08:26:16 UTC
List:
ruby-dev #49424
Issue #11804 has been updated by Kaneko Yuichiro.
Subject changed from 52693 =E4=BB=A5=E9=99=8D=E3=80=81case=E3=81=A7Infinity=
=E3=82=92=E4=BD=BF=E7=94=A8=E3=81=99=E3=82=8B=E3=81=A8FloatDomainError=E3=
=81=8C=E7=99=BA=E7=94=9F=E3=81=99=E3=82=8B to 52931 =E4=BB=A5=E9=99=8D=E3=
=80=81case=E3=81=A7Infinity=E3=82=92=E4=BD=BF=E7=94=A8=E3=81=99=E3=82=8B=E3=
=81=A8FloatDomainError=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=99=E3=82=8B
----------------------------------------
Bug #11804: 52931 =E4=BB=A5=E9=99=8D=E3=80=81case=E3=81=A7Infinity=E3=82=92=
=E4=BD=BF=E7=94=A8=E3=81=99=E3=82=8B=E3=81=A8FloatDomainError=E3=81=8C=E7=
=99=BA=E7=94=9F=E3=81=99=E3=82=8B
https://bugs.ruby-lang.org/issues/11804#change-55460
* Author: Kaneko Yuichiro
* Status: Open
* Priority: Normal
* Assignee:=20
* ruby -v: ruby 2.3.0dev (2015-12-11 trunk 53027) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
=E4=BB=A5=E4=B8=8B=E3=81=AE=E3=82=88=E3=81=86=E3=81=AA=E3=82=B1=E3=83=BC=E3=
=82=B9=E3=81=A7=E3=81=99=E3=80=82
```ruby
def test_infinity
inf =3D 1.0/0.0
result =3D case inf
when true then 1
when false then 0
else
inf.to_i rescue nil
end
assert_nil result
end
```
52930=E3=81=AE=E5=A0=B4=E5=90=88
```
# Running tests:
Finished tests in 0.136572s, 51.2550 tests/s, 314.8522 assertions/s.
7 tests, 43 assertions, 0 failures, 0 errors, 0 skips
```
52931=E3=81=AE=E5=A0=B4=E5=90=88
```
[4/7] TestCase#test_infinity =3D 0.00 s
1) Error:
TestCase#test_infinity:
FloatDomainError: Infinity
ruby/test/ruby/test_case.rb:156:in `test_infinity'
Finished tests in 0.135196s, 51.7767 tests/s, 310.6601 assertions/s.
7 tests, 42 assertions, 0 failures, 1 errors, 0 skips
```
=E3=81=AA=E3=81=8A`when`=E3=81=AE=E3=81=82=E3=81=A8=E3=81=8CString=E3=81=AE=
=E3=81=BF=E3=81=AE=E3=82=B1=E3=83=BC=E3=82=B9=E3=81=A0=E3=81=A82.2.3=E3=81=
=A7=E3=82=82=E4=BE=8B=E5=A4=96=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=97=E3=81=BE=
=E3=81=99=E3=80=82
```ruby
irb(main):001:0> RUBY_VERSION
=3D> "2.2.3"
irb(main):002:0> inf =3D 1.0/0.0
=3D> Infinity
irb(main):003:0>
irb(main):004:0* result =3D case inf
irb(main):005:1> when 'str' then :string
irb(main):006:1> else
irb(main):007:1* inf.to_i rescue nil
irb(main):008:1> end
FloatDomainError: Infinity
from (irb):4
from .rbenv/versions/2.2.3/bin/irb:11:in `<main>'
```
--=20
https://bugs.ruby-lang.org/