Читайте также:
|
|
Символьная строка в MAXScript представляют собой последовательность символов произвольной длины
Литералы
Литералы символьных строк весьма подробно описаны в главе о литералах. Напомним только, что в программе они записываются как последовательность символов в двойных кавычках.
Конструкторы
Строка может быть получена из любого значения MAXScript с помощью операции преобразования типа.
Value as string
Операторы
Наиболее употребительным при работе со строками является оператор сложения
Символьная_строка_1 + Символьная_строка_2
результатом будет символьная строка, образованная слиянием двух строк. Для строк так же определены операции сравнения
Символьная_строка_1 = = Символьная_строка_2
Символьная_строка_1! = Символьная_строка_2
Символьная_строка_1 > Символьная_строка_2
Символьная_строка_1 < Символьная_строка_2
Символьная_строка_1 >= Символьная_строка_2
Символьная_строка_1 <= Символьная_строка_2
Сравнение осуществляется в алфавитном порядке, то есть строка “A” считается меньше строки “B”. Большие и малые буквы РАЗЛИЧАЮТСЯ, то есть строка “A” не равна “a”.
Прочитать или записать символ, стоящий в указанной позиции строки можно с помощью операции индексирования
Символьная_строка [ Целое_число ]
например
S = “ABCDEF”
S [ 5 ]
Вторая строка приведенного скрипта вернет пятую букву строки, то есть “E”. Нумерация символов строки начинается с единицы.
Символьная строка с помощью операции преобразования типов может быть в имя, целое или вещественное число или строковый поток.
Символьная_строка as name
Символьная_строка as float
Символьная_строка as integer
Символьная_строка as stringstream
Методы
Функция копирования
copy Символьная_строка
создает новый экземпляр строки.
Для символьной строки в MAXScript существует оригинальная функция
execute Символьная_строка
Она выполняет указанную строку так, как будто это строка программы, написанной на MAXScript. Этот метод позволяет формировать текст программы во время ее выполнения. При этом следует иметь в виду, что выполнение текстовой строки с помощью метода execute происходит в глобальной области видимости. Например
y=5
(local y=7
execute "print y"
print y
)
Выполнение функции execute приведет к выводу значения глобальной переменной y, то есть 5, а следующий за ней оператор print выведет локальную y, то есть 7.
При организации интерфейса бывает нужно определить размеры строки на экране. Функция
GetTextExtent Символьная_строка
возвращает точку в двумерном пространстве. Координата X возвращаемой точки содержит ширину строки в пикселях, а Y – высоту.
Функция
filterString Символьная_строка_1 Символьная_строка_2
часто применяется для импорта файлов в 3ds max. Она разбирает первую символьную строку на элементы, разделенные символами, содержащимися во второй строке. Результат возвращается в массиве строк. Например, результатом скрипта
filterstring "x=5,y=7.0,z=128.3,u=0.5,v=2.3" ",="
Будет следующий массив символьных строк #("x", "5", "y", "7.0", "z", "128.3", "u", "0.5", "v", "2.3")
Если надо заменить часть некой строки другой строкой, то для этого применяется функция
replace Символьная_строка_1 Число_1 Число_2 Символьная_строка_2
Она заменяет символы первой строки, начиная со стоящего в позиции, заданной первым числом, на вторую строку. Количество заменяемых символов определяется вторым числом. Например, результатом выражения
replace “123456789” 2 4 “abcdefjh”
будет символьная строка “1abcdefjh6789”
Выделение подстроки осуществляется с помощью функции
substring Символьная_строка Число_1 Число_2
Первое число означает позицию, с которой начинается подстрока, а второе – количество символов подстроки. Если количество символов отрицательно, или больше числа символов в исходной строке, то подстрока выделяется до конца строки. Например, выражение
substring “abcdefjh” 3 4
вернет строку “cdef”, а
substring “abcdefjh” 3 -1
или
substring “abcdefjh” 3 100
строку “cdefjh”
Последний метод, определенный для строк
matchPattern Символьная_строка_1 pattern: Символьная_строка_2
ignoreCase: Логическое_выражение
применяется для проверки нахождения подстроки в строке. Третий параметр не обязателен, и по умолчанию равен true. Эта функция возвращает true, если подстрока, определенная вторым параметром (pattern) имеется в строке, заданной первым параметром. Во втором параметре можно использовать служебные символы * и? которые используются так же, как в именах объектов. Например
s = "x=12.67,y=2.5,z=3.7"
matchPattern s pattern:"x=*,y=*,z=*"
Вторая строка приведенного скрипта вернет значение true. При обращении к этой функции большие и малые буквы не различаются. Чтобы они различались, необходимо указать третий параметр равным false. Например
s = “Му string”
matchPattern s pattern:“my*”
matchPattern s pattern:“my*” ignoreCase:false
вторая строка приведенного скрипта вернет true, а третья – false.
Имена
Чаще всего этот тип данных используется для передачи функции параметра, который может находиться в одном из некоторых фиксированных значений. Например, если надо предать функции одно из четырех возможных направлений – вправо, влево, вверх или вниз.
Литералы
Имя в скрипте записывается так
# Имя
Например
#Left
#Right
#Up
#Down
Конструкторы
Имя может быть получено из символьной строки с помощью оператора преобразования типа
Символьная_строка as name
Например
“MyName” as name
вернет значение #MyName.
Операторы
Для имен определены все возможные операции сравнения
Имя_1 = = Имя_2
Имя_1! = Имя_2
Имя_1 > Имя_2
Имя_1 < Имя_2
Имя_1 > = Имя_2
Имя_1 < = Имя_2
Равенство и неравенство проверяются естественным образом, остальное сравнение производится в алфавитном порядке, то есть #A меньше #B. При этом большие и малые буквы считаются одинаковыми.
Свойства
Имена свойств не имеют
Методы
Имена методов не имеют
Дата добавления: 2015-10-31; просмотров: 178 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Создание функций, локальных внутри структуры | | | Логические (Булевы) значения |