2008-11-09 5 views
8

Как вы справляетесь с lambdas в boo? Является ли «вызываемым» то же самое? Как вы определяете метод, который принимает лямбда в качестве параметра?Lambdas in Boo?

ответ

17

Boo делает выражение поддержки лямбды синтаксис:

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

В этом примере foo это функция, которая принимает число х и возвращает й + 2. Таким образом, вызывая foo(5) возвращает номер 7. TakeLambda является функцией, принимает foo и оценивает его в 10.

+0

Как принять лямбду как аргумент метода? – mmiika 2008-11-09 07:44:14