summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-05-22 20:17:11 +0900
committerGitHub <[email protected]>2019-05-22 20:17:11 +0900
commit5f4eb87735c8c084fdb6b98df1eed0663e18b9d2 (patch)
tree1465e42a91806277168f33b4c464e230641ce0bb
parent85a2dfc841b90ced18a2e98cd98a58ab7e094863 (diff)
parent8513abd40404ef8cb8340da906f2d15101536de1 (diff)
downloadmruby-5f4eb87735c8c084fdb6b98df1eed0663e18b9d2.tar.gz
mruby-5f4eb87735c8c084fdb6b98df1eed0663e18b9d2.zip
Merge pull request #4462 from shuujii/kernel-Rational-requires-numerator
`Kernel#Rational` requires numerator
-rw-r--r--mrbgems/mruby-rational/mrblib/rational.rb2
-rw-r--r--mrbgems/mruby-rational/test/rational.rb13
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)