Comments 8
UFO just landed and posted this here
Ваш комментарий дублирует этот: habr.com/company/ruvds/blog/428570/#comment_19317942
Flakky был быстрее на 13 минут :)
Flakky был быстрее на 13 минут :)
Не хватает примеров, где функция возвращает функцию
Всё новое — это хорошо забытое старое. В 2006 году Джоэл Спольский написал статью «Может ли ваш язык программирования делать это?», и как раз на примере JavaScript показал элементы функционального программирования в этом языке.
И чтобы уже 2 раза не ходить, цитата:
Я добавлю Delphi — он также уже умеет кое-что из функциональщины. Более, того, в версии 10.3, которая ожидается уже в этом месяце, появится декларирование переменных по месту использования и вывод типов. Можно будет писать что-то вроде:
«Дo чегo ж на нашегoБуншу JavaScript пoхoж!» :)
И чтобы уже 2 раза не ходить, цитата:
Среди языков, поддерживающих функциональное программирование, можно отметить JavaScript, Haskell, Clojure, Scala и Erlang.
Я добавлю Delphi — он также уже умеет кое-что из функциональщины. Более, того, в версии 10.3, которая ожидается уже в этом месяце, появится декларирование переменных по месту использования и вывод типов. Можно будет писать что-то вроде:
var Proc := (function: TProc begin
var n := 0;
Exit(procedure begin
Write(n);
Inc(n);
end);
end)();
Proc;
«Дo чегo ж на нашегo
Тогда и я пополню список Rust-ом, он может в ФВП и вообще в функцинальщину:
fn is_odd(n: u32) -> bool { n % 2 == 1 }
fn main() {
println!("Найдём сумму всех нечётных квадратов чисел до 1000");
let upper = 1000;
let sum_of_squared_odd_numbers: u32 =
(0..).map(|n| n * n) // все квадраты натуральных чисел
.take_while(|&n_squared| n_squared < upper) // до верхнего предела
.filter(|&n_squared| is_odd(n_squared)) // те что нечётные
.fold(0, |acc, n_squared| acc + n_squared); // сложим их
println!("Результат: {}", sum_of_squared_odd_numbers); // 5456
}
Это так из-за того, что в JavaScript, как и в других языках, поддерживающих функциональное программирование, функции являются объектами.
А без объектов функционального программирования не бывает?
Sign up to leave a comment.
Функции высшего порядка в JavaScript