Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. Present Simple для выражения будущего действия.
  2. Q: Оператор (statement) присваивания, который используется для присваивания результата выражения переменной имеет
  3. Английские выражения на тему «Внешность».
  4. Блоковые выражения
  5. Выполните упражнения, используя модель английских утвердительных предложений I live, слова и выражения из тестовых заданий.
  6. Выражения признательности
  7. Выражения своих мазохистских нужд. Чем большую дозу плохого обращения они

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

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

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

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

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

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

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

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

 

Логические операции

Логические операции применяются к операндам, значения которых равны true или false. Их всего три

операнд1 or операнд2 – логическое или

операнд1 and операнд2 – логическое и

not операнд1 – логическое отрицание (унарная операция)

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

 

Сокращенное выполнение логических выражений

Как и многие другие языки программирования MAXScript не всегда вычисляет логические выражения полностью. Возьмем для примера выражение

(x >10) or (x < 0)

MAXScript поступит так. Вначале он вычислит значение x > 10. Предположим оно равно true. В этом случае нет необходимости вычислять второе, поскольку правила логического или таковы, что при значении одного из операндов true, результат операции будет равен true вне зависимости от значения другого. Та же картина, но наоборот, наблюдается и для логического и. Если первый операнд равен false, то значение операции будет false обязательно, поэтому второй операнд вычисляться не будет. Использовать это свойство языка можно следующим образом. Известно, что функция вычисления синуса в MAXScript при обращении к ней с неопределенным значением (undefined), выдает ошибку. Чтобы не допустить ее при вычислении некоего ограничения, можно записать такое выражение

if x!= undefined and sin x > 0 then …

Если бы оба выражения вычислялись обязательно, то при неопределенном x подобный оператор выдал бы ошибку. Благодаря сокращенному вычислению, сначала будет вычислено первое выражение (x!= undefined), и убедившись что оно ложно, программа пропустит группу операторов после then и будет выполняться нормально.

 

Обращение к функциям

Языки программирования немыслимы без механизма обращения к стандартным и разработанным программистом функциям. Не исключение и MAXScript. Правила написания собственных функций разберем позднее, а пока рассмотрим, как обратится к стандартным. Сначала указывается имя функции, а затем список параметров, которые ей передаются. Параметры перечисляются через пробел, и в общие скобки, как это делается в большинстве языков программирования, не заключаются. Например

sin x

atan2 x y

Бывают функции, которые не имеют параметров вовсе или позволяют не указывать параметры, поскольку их значения могут предполагаться по умолчанию. К таким функциям относится, например, большинство функций создания графических примитивов (подробнее об этом будет рассказано при рассмотрении правил написания функций). В этом случае нельзя обращаться к функции, просто написав ее имя, надо написать после имени открывающуюся и закрывающуюся скобку. Например, такой скрипт

sphere()

создаст в сцене сферу, а такой

sphere

ничего не создаст, хотя и ошибки не вызовет.

 


Дата добавления: 2015-10-31; просмотров: 116 | Нарушение авторских прав


Читайте в этой же книге: С чего начать | Области видимости | Выделение памяти и уборка мусора | Литералы имен объектов | Контекстные выражения | Каскадирование префиксов | Операторы цикла do и while | Создание функций, локальных внутри структуры | Символьные строки | Логические (Булевы) значения |
<== предыдущая страница | следующая страница ==>
Литералы массивов| Блоковые выражения

mybiblioteka.su - 2015-2024 год. (0.007 сек.)