summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-complex/mrblib/complex.rb22
-rw-r--r--mrbgems/mruby-rational/mrblib/rational.rb41
2 files changed, 32 insertions, 31 deletions
diff --git a/mrbgems/mruby-complex/mrblib/complex.rb b/mrbgems/mruby-complex/mrblib/complex.rb
index 0299e7675..1a6f7e92e 100644
--- a/mrbgems/mruby-complex/mrblib/complex.rb
+++ b/mrbgems/mruby-complex/mrblib/complex.rb
@@ -104,18 +104,18 @@ class Complex < Numeric
end
alias_method :imag, :imaginary
-end
-[Fixnum, Float].each do |cls|
- [:+, :-, :*, :/, :==].each do |op|
- cls.instance_exec do
- original_operator_name = "__original_operator_#{op}_complex"
- alias_method original_operator_name, op
- define_method op do |rhs|
- if rhs.is_a? Complex
- Complex(self).send(op, rhs)
- else
- send(original_operator_name, rhs)
+ [Fixnum, Float].each do |cls|
+ [:+, :-, :*, :/, :==].each do |op|
+ cls.instance_exec do
+ original_operator_name = "__original_operator_#{op}_complex"
+ alias_method original_operator_name, op
+ define_method op do |rhs|
+ if rhs.is_a? Complex
+ Complex(self).send(op, rhs)
+ else
+ send(original_operator_name, rhs)
+ end
end
end
end
diff --git a/mrbgems/mruby-rational/mrblib/rational.rb b/mrbgems/mruby-rational/mrblib/rational.rb
index 93af72b96..c0b16a6ae 100644
--- a/mrbgems/mruby-rational/mrblib/rational.rb
+++ b/mrbgems/mruby-rational/mrblib/rational.rb
@@ -89,28 +89,29 @@ module Kernel
a, b = b, a % b until b == 0
Rational._new(numerator.div(a), denominator.div(a))
end
-end
-[:+, :-, :*, :/, :<=>, :==, :<, :<=, :>, :>=].each do |op|
- Fixnum.instance_eval do
- original_operator_name = "__original_operator_#{op}_rational"
- alias_method original_operator_name, op
- define_method op do |rhs|
- if rhs.is_a? Rational
- Rational(self).__send__(op, rhs)
- else
- __send__(original_operator_name, rhs)
+ [:+, :-, :*, :/, :<=>, :==, :<, :<=, :>, :>=].each do |op|
+ Fixnum.instance_eval do
+ original_operator_name = "__original_operator_#{op}_rational"
+ alias_method original_operator_name, op
+ define_method op do |rhs|
+ if rhs.is_a? Rational
+ Rational(self).__send__(op, rhs)
+ else
+ __send__(original_operator_name, rhs)
+ end
end
end
- end
- Float.instance_eval do
- original_operator_name = "__original_operator_#{op}_rational"
- alias_method original_operator_name, op
- define_method op do |rhs|
- if rhs.is_a? Rational
- rhs = rhs.to_f
+ Float.instance_eval do
+ original_operator_name = "__original_operator_#{op}_rational"
+ alias_method original_operator_name, op
+ define_method op do |rhs|
+ if rhs.is_a? Rational
+ rhs = rhs.to_f
+ end
+ __send__(original_operator_name, rhs)
end
- __send__(original_operator_name, rhs)
- end
- end if Object.const_defined?(:Float)
+ end if Object.const_defined?(:Float)
+ end
end
+