Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
функции высших порядков, развитые средства обработки списков, рекурсия, возможность организации ленивых вычисленийЭто немало:)
def multN(value) : return (lambda x : x**value)
class MultN(object):
def __init__ (self, power):
self.power = power
def __call__ (value):
return value ** self.powerdef fff(value) :
if value < 10 :
return (lambda x : x*2)
else :
return (lambda x y : x*y)
Увы, но как-раз теоретически такого железа пока не придумано (мне теория такого железа неизвестна)
lambda: c = 5 не покатит». Во-вторых, я пишу на JS, а там нет различия меду анонимными функциями и именованными (за тем исключением, что именованные подвергаются «поднятию», но я не могу придумать красивый не синтетический пример, когда это меняет их использование).function outer () {
var ctx="внутри";
var inner = function() {
return ctx;
};
return inner;
}
var ctx="снаружи";
var res = outer();
console.debug(res());
хотели бы познакомиться с функциональным программированием, но не имеет возможности/желания изучать Haskell/Scala/Lisp/Python, — эта статья специально для вас.
Функциональное программирование в Java