| # 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 | |