# Operator overloading example | |
require 'example' | |
a = Example::IntSum.new(0) | |
b = Example::DoubleSum.new(100.0) | |
# Use the objects. They should be callable just like a normal | |
# Ruby function. | |
(0..100).each do |i| | |
a.call(i) # note: function call | |
b.call(Math.sqrt(i)) # note: function call | |
end | |
puts a.result | |
puts b.result | |