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

Символьные строки

Читайте также:
  1. Алгоритм поиска подстроки Кнута-Морриса-Пратта (на основе префикс-функции)
  2. Алгоритм поиска подстроки, основанный на конечных автоматах
  3. Вы можете выполнять задачи геообработки, запустив инструмент из диалогового окна, командной строки, либо в рамках скрипта или модели.
  4. Используются для заполнения строки 4314
  5. Первые строки
  6. Первые строки
  7. Поняття, значення, строки, суб'єкти, засоби збирання та перевірки доказів, підсумкові рішення стадії перегляду судових рішень в апеляційному порядку.

Символьная строка в 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 | Нарушение авторских прав


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

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