Введение в язык Scheme для школьников: различия между версиями

Содержимое удалено Содержимое добавлено
→‎Где посмотреть и попробовать: plt-scheme переименован в racket
Поменял имена на нормальные, т.к. Scheme поддерживает русскоязычные имена
Строка 16:
<source lang="scheme">(+ 3 5)
(* 5 6 7)
(kupitjкупить bulochnajaбулочная batonбатон)</source>
 
Можно записать выражения и посложнее:
Строка 77:
Мы бы хотели иметь такие «глаголы»:
 
; <code>privetпривет</code>: для приветствия с одним параметром — именем пользователя;
; <code>polzovatelпользователь</code>: для получения имени пользователя, без параметров.
 
Наша задача выглядела бы так:
 
<source lang="scheme">(privetпривет (polzovatelпользователь))</source>
 
Дело за малым — определить <code>privetпривет</code> и <code>polzovatelпользователь</code>. Нет проблем. Вот полный текст программы.
 
<source lang="scheme">(define (privetпривет imjaимя)
(display "PrivetПривет, ")
(display imjaимя)
(display "!")
(newline))
(define (polzovatelпользователь)
(write "PredstavtesПредставьтесь:")
(read))
(privetпривет (polzovatelпользователь))</source>
 
[[w:Лисп|Лисп]] — полноценный функциональный язык, а поэтому функции — полноправные члены этого языка, независимо от того, определили вы их сами, или они уже были в языке готовые. В частности, их можно передавать в качестве параметров в другие функции, а там уже делать с ними всё, что потребуется.