Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Сцепление




Строки

Функции-члены структуры

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

structPerson

(

name,

age,

height,

weight,

function GetHeight CM =

(

cmheight = height* 2.54

)

)

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

myPerson = Person "Sue" height: 60

cmh = myPerson.GetHeightCM()

Если затем ввести переменную cmh в окне приемника команд и вычислить ее значение, то в итоге будет получен следующий результат: 152.4.

Вызов функций во время построения структуры (дополнительный материал)

При рассмотрении процесса построения структуры речь до сих пор шла лишь о присвоении копий аргументов переменным-членам. А другой код при этом не инициализировался. Но что если требуется вызвать иной код для манипулирования данными при создании структуры? Для этого достаточно присвоить функцию переменной-члену в определении структуры, например: struct Person

(

name,

age,

height,

weight,

function

GetHeightCM =

(

height* 2.54

),

cmHeight = GetHeightCM()

)

Обратите внимание на новую переменную-член cmHeight, введенную в структуру. В этой переменной будет храниться значение высоты человека в сантиметрах. Любая функция-член, присваиваемая переменной-члену, вызывается при


Глава 1

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

myPerson = Person "Carol" height:60,

а затем ввести в окне приемника команд следующую переменную и вычислить ее значение:

myPerson.cmHeight

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

struct Person

(

name,

age,

height,

weight,

function GetHeightCM =

(

height * 2.54

),

function GetWeightKG =

(

weight * 2.2

),

cmHeight = GetHeightCM(),

kgWeight = GetWeightKG()

)

Вызов функций во время создания структуры является весьма эффективным средством MAXScript.

Строковые переменные содержат буквенно-цифровые символы или текст, например "Hello", "MAX4U" или "Введите ваше имя". Строки представляют собой литеральные значения, которые могут использоваться во всплывающих сообщениях или при указании пути к файлу. Строки присваиваются строковым переменным с помощью кавычек. Если не снабдить строку кавычками, это приведет к ошибке.

В MAXScript предоставляется целый ряд операций, которые можно выполнять над строками.

Сцепление означает объединение двух строк с помощью знака "плюс" (+). Это аналогично сложению двух строк для получения третьей:

textl = "MAXScriptis"

text2 = " fun!"

text3 = textl + text2

В приведенном выше примере переменная text3 будет иметь значение "MAXScriptisfun!" (MAXScript — интересный язык программирования!).


Основы MAXScript

Обратите внимание на пробел в начале строки text2, который введен для правильного чтения строки. В строке пробел считается отдельным символом.

Для просмотра строки служит функция messageBox:

messagebox text3

На приведенном ниже рисунке показан результат выполнения представленного выше сценария. В окне приемника команд выводятся результаты присваивания зна­чений строковым переменным после выполнения каждой строки данного сценария.

 

 

 





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


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


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



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




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