LISP - базовый синтаксис
Основные строительные блоки в LISP
Программы LISP состоят из трех основных строительных блоков:
atom
list
string
An atomчисло или строка смежных символов. Он включает числа и специальные символы.
Ниже приведены примеры некоторых действительных атомов -
hello-from-tutorials-point
name
123008907
*hello*
Block#221
abc123
А list представляет собой последовательность атомов и / или других списков, заключенных в круглые скобки.
Ниже приведены примеры некоторых действительных списков -
( i am a list)
(a ( a b c) d e fgh)
(father tom ( susan bill joe))
(sun mon tue wed thur fri sat)
( )
А string - это группа символов, заключенная в двойные кавычки.
Ниже приведены примеры некоторых допустимых строк -
" I am a string"
"a ba c d efg #$%^&!"
"Please enter the following details :"
"Hello from 'Tutorials Point'! "
Добавление комментариев
Символ точки с запятой (;) используется для обозначения строки комментария.
Например,
(write-line "Hello World") ; greet the world
; tell them your whereabouts
(write-line "I am at 'Tutorials Point'! Learning LISP")
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, LISP выполняет его немедленно, и возвращается результат -
Hello World
I am at 'Tutorials Point'! Learning LISP
Некоторые важные моменты перед тем, как перейти к следующему
Ниже приведены некоторые из важных моментов, на которые следует обратить внимание:
Основные числовые операции в LISP: +, -, * и /
LISP представляет вызов функции f (x) как (fx), например cos (45) записывается как cos 45
Выражения LISP нечувствительны к регистру, cos 45 или COS 45 одинаковы.
LISP пытается оценить все, включая аргументы функции. Только три типа элементов являются константами и всегда возвращают собственное значение
Numbers
Письмо t, это означает логическую истину.
Значение nil, что означает логическую ложь, а также пустой список.
Немного больше о формах LISP
В предыдущей главе мы упоминали, что процесс оценки кода LISP включает следующие шаги.
Читатель переводит строки символов в объекты LISP или s-expressions.
Оценщик определяет синтаксис Лиспа formsкоторые построены из s-выражений. Этот второй уровень оценки определяет синтаксис, который определяет, какие s-выражения являются формами LISP.
Теперь формы LISP могут быть.
Атом
Пустой или не входящий в список
Любой список, первым элементом которого является символ
Оценщик работает как функция, которая принимает допустимую форму LISP в качестве аргумента и возвращает значение. Это причина, по которой мы помещаемLISP expression in parenthesis, потому что мы отправляем все выражение / форму оценщику в качестве аргументов.
Соглашения об именах в LISP
Имя или символы могут состоять из любого количества буквенно-цифровых символов, кроме пробелов, открывающих и закрывающих круглых скобок, двойных и одинарных кавычек, обратной косой черты, запятой, двоеточия, точки с запятой и вертикальной черты. Чтобы использовать эти символы в имени, вам нужно использовать escape-символ (\).
Имя может состоять из цифр, но не полностью из цифр, потому что тогда оно будет читаться как число. Точно так же имя может иметь точки, но не может состоять полностью из точек.
Использование одинарных кавычек
LISP оценивает все, включая аргументы функции и члены списка.
Иногда нам нужно воспринимать атомы или списки буквально и не хотим, чтобы они оценивались или обрабатывались как вызовы функций.
Для этого нам нужно поставить перед атомом или списком одну кавычку.
Следующий пример демонстрирует это.
Создайте файл с именем main.lisp и введите в него следующий код.
(write-line "single quote used, it inhibits evaluation")
(write '(* 2 3))
(write-line " ")
(write-line "single quote not used, so expression evaluated")
(write (* 2 3))
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, LISP выполняет его немедленно, и возвращается результат -
single quote used, it inhibits evaluation
(* 2 3)
single quote not used, so expression evaluated
6