#! /usr/bin/ruby

# ruby lambdas can be assigned to variables, passed as parameters, etc,
#      and executed using call

def applyFtoMN(f, m, n)
   f.call(m,n)
end

# store a lambda in variable a, then call apply
a = lambda { |x,y| x*y }
res = applyFtoMN(a, 10, 20)     # res is 200
puts "result is #{res}"

