18 lines
342 B
Ruby
18 lines
342 B
Ruby
|
|
# 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
|
||
|
|
|