Next: , Previous: Невычисляемые и вычисляемые формы, Up: Выражения   [Contents][Index]

6.4 Идентификаторы

Идентификаторы Maxima могут содержать буквы алфавита, плюс цифры от 0 до 9, плюс любые специальные символы, с предшествующим знаком \.

Цифра может быть первым символом идентификатора, если ей предшествует бэкслеш \. Для цифр, которые являются вторыми или последующими символами, бэкслеш не нужен.

Специальный символ может быть объявлен алфавитным, с помощью функции declare. Если это так, его не нужно экранировать бэкслешом в идентификаторе. Изначально к алфавитным символам относятся A до Z, a до z, % и _.

Maxima чувствительна к регистру символов. Идентификаторы foo, FOO и Foo различны. Для дальнейших сведений по этому вопросу смотрите Lisp и Maxima.

Maxima идентификатор является Lisp-символом, который начинается со знака доллар $. Любой другой Lisp-символ, когда он встречается в Maxima, предваряется знаком вопроса ?. См. Lisp и Maxima для более подробной информации по этому вопросу.

Примеры:

(%i1) %an_ordinary_identifier42;
(%o1)               %an_ordinary_identifier42
(%i2) embedded\ spaces\ in\ an\ identifier;
(%o2)           embedded spaces in an identifier
(%i3) symbolp (%);
(%o3)                         true
(%i4) [foo+bar, foo\+bar];
(%o4)                 [foo + bar, foo+bar]
(%i5) [1729, \1729];
(%o5)                     [1729, 1729]
(%i6) [symbolp (foo\+bar), symbolp (\1729)];
(%o6)                     [true, true]
(%i7) [is (foo\+bar = foo+bar), is (\1729 = 1729)];
(%o7)                    [false, false]
(%i8) baz\~quux;
(%o8)                       baz~quux
(%i9) declare ("~", alphabetic);
(%o9)                         done
(%i10) baz~quux;
(%o10)                      baz~quux
(%i11) [is (foo = FOO), is (FOO = Foo), is (Foo = foo)];
(%o11)                [false, false, false]
(%i12) :lisp (defvar *my-lisp-variable* '$foo)
*MY-LISP-VARIABLE*
(%i12) ?\*my\-lisp\-variable\*;
(%o12)                         foo

Next: , Previous: Невычисляемые и вычисляемые формы, Up: Выражения   [Contents][Index]