Введение в язык Scheme для школьников: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 215:
==Принцип наименьших усилий==
Не надо делать лишних действий, если их можно избежать. Последний вариант функции repeat хорош, но ... зачем каждый раз давать функции имя, если нужно просто её выполнить? А можно ли вообще создать функцию, но не давать ей имя? Оказывается можно. В языке есть специальная инструкция, которая говорит «создать функцию».
▲ <code>(lambda (<аргументы>) <тело функции> <последнее вычисленное значение возвращается>)</code>
Пример:
Оказывается, последняя конструкция то же самое, что и:
Вот мы с вами открыли ещё один способ определять функции с именами: сначала создаём, затем даём имя. Давайте-ка теперь «повторим» действия, не давая имена функциям:
Для repeat используются функции без параметров, поэтому в конструкции lambda пустая пара скобок.
|