Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Локальные и глобальные переменные




Возврат значений из функций

По окончании выполнения ряда операторов внутри функции из нее возвращается определенное значение. Если в строке кода, вызывающей функцию, осуществ­ляется присваивание значения переменной, это значение присваивается перемен­ной. В целом, функции можно разделить на две категории: те, которые возвращают значение, и те, которые не возвращают значение. Функции, возвращающие значение, обычно делают это в своем конце. А функции, не возвращающие значение, называются пустыми, поскольку по завершении таких функций от


Основы MAXScript

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

Вероятно, самый простой способ возврата значения из функции состоит в том, чтобы просто поместить его в последней строке тела функции, например:

function foo =

(

g = 4

h = 5

g*h

)

Если теперь ввести выражение i = foo(), в окне приемника команд вернется значение 20. Это означает также, что переменная i получает значение 20.

В отсутствие ключевого слова return может показаться непонятным, что же именно функция возвращает. В таком случае лучше указать возвращаемое значение явно:

functionfoo =

(

g = 4

h = 5

return g*h

)

Данный пример наглядно показывает, где именно функция возвращает значение 20. Так для чего же нужен был предыдущий пример? Во-первых, для того, чтобы продемонстрировать подобный способ возврата значения из функции. Во-вторых, применение ключевого слова return несколько замедляет выполнение функции. Если функция вызывается многократно, следует опустить данное ключевое слово, чтобы сократить общее время выполнения.

Терминами "локальная" и "глобальная" обозначается область действия переменной. Область действия определяет место в коде сценария MAXScript, где пе­ременная оказывается доступной. Но как только переменная будет объявлена как глобальная, она окажется доступной в любом сценарии и в любой момент. Ло­кальная переменная может использоваться в том блоке кода, в котором она опре­делена, либо во вложенных в него блоках кода. Блок кода представляет собой лю­бой фрагмент кода, заключенный в круглые или квадратные скобки.

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

Созданные до сих переменные действительны вплоть до выхода из 3dsMax. При вводе выражения x = 5, о в окне редактора MAXScript Editor или приемника команд фактически объявляется глобальная переменная x. Глобальная переменная сохраняет свое значение вплоть до выхода из 3dsMax, даже если закрыть окно редактора сценариев или приемника команд либо установить 3dsMax в исходное состояние.


Глава 1




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 496; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.