summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-rational/mrblib/rational.rb
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-rational/mrblib/rational.rb')
-rw-r--r--mrbgems/mruby-rational/mrblib/rational.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/mrbgems/mruby-rational/mrblib/rational.rb b/mrbgems/mruby-rational/mrblib/rational.rb
index 4936b1123..54d9a955f 100644
--- a/mrbgems/mruby-rational/mrblib/rational.rb
+++ b/mrbgems/mruby-rational/mrblib/rational.rb
@@ -62,6 +62,19 @@ class Rational < Numeric
nil
end
end
+
+ def ==(rhs)
+ if rhs.is_a?(Integral)
+ return numerator == rhs if denominator == 1
+ rhs = Rational(rhs)
+ end
+
+ if rhs.is_a?(Rational)
+ numerator * rhs.denominator == denominator * rhs.numerator
+ else
+ rhs == self
+ end
+ end
end
class Numeric