diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-05-22 19:57:35 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-05-22 19:57:35 +0900 |
| commit | 8513abd40404ef8cb8340da906f2d15101536de1 (patch) | |
| tree | 1465e42a91806277168f33b4c464e230641ce0bb | |
| parent | 85a2dfc841b90ced18a2e98cd98a58ab7e094863 (diff) | |
| download | mruby-8513abd40404ef8cb8340da906f2d15101536de1.tar.gz mruby-8513abd40404ef8cb8340da906f2d15101536de1.zip | |
`Kernel#Rational` requires numerator
| -rw-r--r-- | mrbgems/mruby-rational/mrblib/rational.rb | 2 | ||||
| -rw-r--r-- | mrbgems/mruby-rational/test/rational.rb | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/mrbgems/mruby-rational/mrblib/rational.rb b/mrbgems/mruby-rational/mrblib/rational.rb index c8614ecea..4936b1123 100644 --- a/mrbgems/mruby-rational/mrblib/rational.rb +++ b/mrbgems/mruby-rational/mrblib/rational.rb @@ -71,7 +71,7 @@ class Numeric end module Kernel - def Rational(numerator = 0, denominator = 1) + def Rational(numerator, denominator = 1) a = numerator b = denominator a, b = b, a % b until b == 0 diff --git a/mrbgems/mruby-rational/test/rational.rb b/mrbgems/mruby-rational/test/rational.rb index ea55880fe..914f8505e 100644 --- a/mrbgems/mruby-rational/test/rational.rb +++ b/mrbgems/mruby-rational/test/rational.rb @@ -27,6 +27,19 @@ assert 'Rational' do assert_equal([5, 1], [r.numerator, r.denominator]) end +assert 'Kernel#Rational' do + r = Rational(4,10) + assert_equal(2, r.numerator) + assert_equal(5, r.denominator) + + r = Rational(3) + assert_equal(3, r.numerator) + assert_equal(1, r.denominator) + + assert_raise(ArgumentError) { Rational() } + assert_raise(ArgumentError) { Rational(1,2,3) } +end + assert 'Rational#to_f' do assert_float(2.0, Rational(2).to_f) assert_float(2.25, Rational(9, 4).to_f) |
