Данный пример иллюстрирует сразу две возможности функциональных языков:
odd = isEven o (+) 1
(+) 1 — это карринг, создание новой функции инкремента с одним аргументом из функции сложения с двумя аргументами, а o — композиция функций, которая тоже создает функцию (o — это обычная латинская буква:), а я искал этот кружочек в таблице символов).
ys = map (\x = x*x+3*x+1) [1..100]
Здесь (пример из книги) используется безымянная функция или лямбда-функция (λ) \x = x*x+3*x+1, что идентично следующему:
ys = map f [1..100]
where
f x = x*x + 3*x + 1
Данный код применяет функцию ко всем элементам списка [1..100]
1 комментарий:
У Вас есть аська или другой мессенжер?
Если не сложно, стукните на 214_62О_12З, хотелось бы пообщаться с Вами)
Отправить комментарий