Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAXScript Part 2.doc
Скачиваний:
1
Добавлен:
11.12.2019
Размер:
89.09 Кб
Скачать

Выражения

MAXScript – язык базирующийся на выражениях. Любая конструкция этого языка является выражением, то есть возвращает какое-нибудь значения и, следовательно, может стоять справа от знака присваивания. Именно это возвращаемое значение выводится в окно интерпретатора после того, как Вы введете в это окно очередной оператор MAXScript.

Эта особенность языка позволяет использовать, например, такую запись для вычисления абсолютного значения числа.

x = if x > 0 then x else -x

Выражение может составляться из нескольких. Для этого ряд простых выражений заключается в скобки.

( x = 6

y = 7

z = 10

)

Подробнее о составных выражениях смотри далее.

Простые выражения

Простые выражения составляются из операндов – объектов, над которыми совершаются действия, и операций – самих действий. Например, в выражении

a * x + b

a, x и b – операнды, а * и + операции. В качестве операндов могут выступать переменные или константы. Переменные, как уже упоминалось, могут иметь индексы или свойства

a[1] --Переменная с индексом

b.height –Переменная со свойством

Что касается операций, то они могут быть унарными и бинарными. Классический пример унарной операции – минус. Она применяется к одному операнду

-a

-0.75

Бинарные операции применяются к двум операндам. Например

a + b

операция сложения.

Математические выражения

Рассмотрим операции, с помощью которых составляются математические выражения

операнд1 + операнд2 – операция сложения

операнд1 - операнд2 – операция вычитания

операнд1 * операнд2 – операция умножения

операнд1 / операнд2 – операция деления

операнд1 ^ операнд2 – операция возведения в степень

операнд1 as название класса – операция преобразования типа

MAXScript, подобно языку C, поддерживает операцию присваивания с одновременным выполнением математической операции. Например, выражение

x + = 1

делает то же самое, что

x = x + 1

Аналогично работают операции - =, * =, / =.

Порядок выполнения операций в математических выражениях

При вычислении выражений операции выполняются в своем естественном порядке, а именно

  • сначала выполняются вызовы функций, например синуса или логарифма;

  • затем преобразования типов as;

  • затем возведение в степень ^;

  • затем умножение и деление * и /;

  • и, наконец, сложение и вычитание + и -.

Разумеется, порядок вычисления можно изменять, используя скобки.

Полиморфизм

Одни и те же операции в MAXScript могут выполняться над операндами разных типов. Например, операция сложения может использоваться и с числами,

y = 2 + 1

и со строками.

y = “Visual ” + “C++”

операции определены для работы с векторами, точками трехмерного и двумерного пространства, и могут выполняться даже над операндами разных типов. Например, вполне уместно умножить число на точку в трехмерном пространстве. Подобное свойство операций называется полиморфизмом.

Выражения сравнения

Очень часто возникает необходимость сравнить результаты двух выражений. Для этого существуют специальные операции, называемые операциями сравнения. Результатом этих операций всегда является одно из логических значений – true (истина) или false (ложь). Вот список этих операций.

операнд1 = = операнд2 – равно

операнд1 ! = операнд2 – не равно

операнд1 > операнд2 – больше

операнд1 < операнд2 – меньше

операнд1 >= операнд2 – больше или равно

операнд1 <= операнд2 – меньше или равно

Операции сравнения имеют более низкий приоритет по сравнению с математическими.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]