Взаимное преобразование чисел и строк
Замена
Поиск содержимого строки
Функция findString осуществляет поиск первого экземпляра подстроки в более крупной строке, например:
test = "String example"
location = findString test "ex"
В приемнике команд возвращается значение 8, указывающее на то, что подстрока "ex" начинается с восьмого символа строки test. Если искомая подстрока отсутствует, в приемнике команд возвращается сообщение undefined.
Эта операция осуществляет замену одной строки другой. Она реализуется с помощью функции replace следующим образом:
test = "This is a string"
test2 = "yet another"
test3 = replace test 9 1 test2
messagebox test3
Первым аргументом функции replace является строка, содержащая исходный текст. Второй ее аргумент указывает на место, с которого следует заменять строку. Третий аргумент данной функции определяет, сколько символов следует удалиь. Четвертый обозначает вставляемую подстроку. В итоге строка test3 будет иметь следующий вид: "Thisisyetanotherstring" (Это еще одна строка).
При выполнении файлового ввода-вывода числовые данные в сценарии нередко приходится преобразовывать в текст для последующей записи в текстовый
Глава 1
файл. С другой стороны, текст приходится читать из файла и преобразовывать в числовые данные для последующего использования в сценарии. В подобных случаях требуется взаимное преобразование числовых и строковых данных.
В MAXScript такое преобразование выполняется достаточно просто.
Если попытаться сложить число со строкой, поставив между ними плюс. MAXScript выдаст ошибку. Прежде чем присоединить число к строке, необходимо привести числовое значение к строковому типу данных. Это делается с помощью оператора as string.
Допустим, что требуется сформировать следующую строку: string1 = "Your customer number is 345"
Если абонентский номер (customer number) представлен целым числом, данную строку можно сформировать следующим образом:
custNum = 345 - custNum -- это целое число
custString = custNum as string -- сформировать строку из custNum
string1 = "Your customer code is " + custString
С помощью операторов as integer и as float строку можно преобразовать в целое число или же в число с плавающей точкой соответственно.
Для того чтобы освоить взаимные преобразования строк и чисел, выполните следуюшее упражнение.
1. Откройте новое окно редактора сценариев и введите следующий фрагмент кода:
s = sphere()
val = s.radius as string
text1 = "The sphere's radius is "
text2 = text1 + val
messagebox text2
Переменная val содержит значение радиуса сферы в виде строки.
2. Преобразуйте строку в число, введя следующий код:
val = "20.0"
s = sphere()
s.radius = val as float
Таким образом, строка "20.0" преобразуется в число с плавающей точкой, которое затем присваивается радиусу сферы.
Основы MAXScript