summaryrefslogtreecommitdiff
path: root/Examples/ruby/operator/runme.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/ruby/operator/runme.rb')
-rw-r--r--Examples/ruby/operator/runme.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/Examples/ruby/operator/runme.rb b/Examples/ruby/operator/runme.rb
new file mode 100644
index 000000000..518d91e9e
--- /dev/null
+++ b/Examples/ruby/operator/runme.rb
@@ -0,0 +1,25 @@
+# Operator overloading example
+require 'example'
+
+include Example
+
+a = Complex.new(2, 3)
+b = Complex.new(-5, 10)
+
+puts "a = #{a}"
+puts "b = #{b}"
+
+c = a + b
+puts "c = #{c}"
+puts "a*b = #{a*b}"
+puts "a-c = #{a-c}"
+
+# This should invoke Complex's copy constructor
+e = Complex.new(a-c)
+e = a - c
+puts "e = #{e}"
+
+# Big expression
+f = ((a+b)*(c+b*e)) + (-a)
+puts "f = #{f}"
+