Lambdas in Boo?
Asked Answered
N

1

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?

Na answered 9/11, 2008 at 7:21 Comment(0)
E
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.

Emplane answered 9/11, 2008 at 7:37 Comment(3)
Thanks, i see most cases just "as callable" is enoughNa
I wish .NET delegates were more like callable in boo. this would make life so much easier in so many cases...Tlemcen
@Krzysztof Koźmic: F#'s notation is nice: TakeLambda : (int -> int) -> intOxidimetry

© 2022 - 2024 — McMap. All rights reserved.