Лисп/Синтаксис: различия между версиями
Содержимое удалено Содержимое добавлено
Oleg4280 (обсуждение | вклад) {{BookCat}} |
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
||
Строка 17:
== Формы ==
<
По данному выше определению: 4 — это ''число'', стало быть ''атом'', стало быть ''символьное выражение'', стало быть ''программа на Лиспе''. Программа ничего значительного не делает, лишь ''возвращает'' число 4. Попробуем другое символьное выражение:
<
«Сумма 2 и 2». В Лиспе ''символ'' <code>+</code> несёт тот же смысл, что и слова «плюс», «сложить», «сумма» в русском.
Строка 37:
Для не привыкших к префиксной форме то, что мы только что ввели должно показаться несколько странным. Однако, легко догадаться что в первом случае мы вычисляли выражение <math>1 + 2 = 3</math>, а во втором <math>5 + (4 - 3) = 6</math>. Так или иначе, с префиксной записью неизбежно знакомы даже программисты на Си:
<
int plus (x, y) {
return x + y;
Строка 49:
return plus(5, minus (4, 3));
}
</syntaxhighlight>
Как видим, использование определённой функции в Си также префиксное: <code>plus (5, minus (4, 3))</code>. В Лиспе имя функции вносится в скобки (в голову списка), а запятые опускаются: <code>(plus 5 (minus 4 3))</code>.
|