Maxima Manual: Идентификаторы

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]