8

How do you deal with lambdas in boo? Is "callable" the same thing? How do you define a method that takes a lambda as a parameter?

Brian Rasmussen
  • 114,645
  • 34
  • 221
  • 317
mmiika
  • 9,970
  • 5
  • 28
  • 34

1 Answers1

17

Boo does support lambda expression syntax:

foo = {x|x+2}
seven = foo(5)
def TakeLambda(expr as callable(int) as int):
   return expr(10)
twelve = TakeLambda(foo)

In this example, foo is a function that accepts a number x and returns x + 2. So calling foo(5) returns the number 7. TakeLambda is a function that accepts foo and evaluates it at 10.

Greg
  • 23,155
  • 11
  • 57
  • 79