Взаимное преобразование чисел и строк

Замена

Поиск содержимого строки

Функция 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