Хелпикс

Главная

Контакты

Случайная статья





Split. GetRightMost



 

Строки в сценариях UnrealScript http://www.gamedev.ru/community/udk/articles/StringsInUnrealScript Автор: Vincent Barabus Обзор Классы Object и Actor включают в себя несколько операторов и функций для выполнения действий со строками в сценариях UnrealScript. В этом документе мы подробно рассмотрим эти операторы и функции. Операторы $ (значок "доллар") string $ ( coerce string A, coerce string B ) Оператор $ принимает две строки, A и B, и объединяет их. Если A или B не являются строками, то будет осуществлена попытка преобразования их значений в строки. Пример: `log("Unreal"$"Script"); //prints "UnrealScript" $= string $= ( out string A, coerce string B ) Оператор $= принимает две строки, A и B, объединяет их и присваивает результат первой строке. Если B не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: MyString = "Unreal"; MyString $= "Script"; // MyString contains "UnrealScript" @ (at) string @ ( coerce string A, coerce string B ) Оператор @ принимает две строки, A и B, и объединяет их, помещая между ними пробел. Если A или B не являются строками, то будет осуществлена попытка преобразования их значений в строки. Пример: log("Unreal"@"Engine"); //prints "Unreal Engine" @= string @= ( out string A, coerce string B ) Оператор @= принимает две строки, A и B, объединяет их, помещая между ними пробел, и присваивает результат первой строке. Если B не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: MyString = "Unreal"; MyString @= "Engine"; // MyString contains "Unreal Engine" < (меньше) bool < ( string A, string B ) Оператор < принимает две строки, A и B, и возвращает true если первая строка по алфавиту выше второй строки. Обратите внимание, что заглавные буквы всегда по алфавиту выше строчных букв. В случаях, когда необходимо сравнить строки без учета регистра, воспользуйтесь функцией Caps. Пример: ("Monkey" < "Robot") //this is TRUE. > (больше) bool > ( string A, string B ) Оператор > принимает две строки, A и B, и возвращает true если первая строка по алфавиту ниже второй строки. Обратите внимание, что заглавные буквы всегда по алфавиту выше строчных букв. В случаях, когда необходимо сравнить строки без учета регистра, воспользуйтесь функцией Caps. Пример: ("Batman" > "Aquaman") //this is TRUE. <= (меньше или равно) bool <= ( string A, string B ) Оператор <= принимает две строки, A и B, и возвращает true если первая строка по алфавиту выше или соответствует второй строке. Обратите внимание, что заглавные буквы всегда по алфавиту выше строчных букв. В случаях, когда необходимо сравнить строки без учета регистра, воспользуйтесь функцией Caps. Пример: ("Monkey" <= "Robot") //this is TRUE. ("Monkey" <= "Monkey") //this is TRUE. >= (больше или равно) bool >= ( string A, string B ) Оператор >= принимает две строки, A и B, и возвращает true если первая строка по алфавиту ниже или соответствует второй строке. Обратите внимание, что заглавные буквы всегда по алфавиту выше строчных букв. В случаях, когда необходимо сравнить строки без учета регистра, воспользуйтесь функцией Caps. Пример: ("Monkey" >= "Robot") //this is FALSE. ("Monkey" >= "Monkey") //this is TRUE. == (равно) bool == ( string A, string B ) Оператор == принимает две строки, A и B, и возвращает true если строки совпадают. Учтите, что сравнение осуществляется с учетом регистра. Пример: ("Monkey" == "Robot") //this is FALSE. ("Monkey" == "Monkey") //this is TRUE. ("Monkey" == "monkey") //this is FALSE. != (не равно) bool != ( string A, string B ) Оператор != принимает две строки, A и B, и возвращает true если строки НЕ совпадают. Учтите, что сравнение осуществляется с учетом регистра. Пример: ("Monkey" != "Robot") //this is TRUE. ("Monkey" != "Monkey") //this is FALSE. ("Monkey" != "monkey") //this is TRUE. ~= (приближенно равно) bool ~= ( string A, string B ) Оператор ~= принимает две строки, A и B, и возвращает истину, если строки совпадают независимо от регистра. Пример: ("Monkey" ~= "Robot") //this is FALSE. ("Monkey" ~= "Monkey") //this is TRUE. ("Monkey" ~= "monkey") //this is TRUE. -= (вычесть и присвоить) string -= ( out string A, coerce string B ); Оператор -= удаляет все вхождения строки B из строки A и присваивает результат строке A. Поиск осуществляется с учетом регистра. Если B не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: MyString = "test: this is a test"; MyString -= "test"; log(MyString); // prints: ": this is a "; Функции класса Object Len int Len ( coerce string S ) Возвращает длину строки. Пример: Len("this"); //returns 4; InStr int InStr ( coerce string S, coerce string t ) Функция InStr() возвращает позицию первого вхождения подстроки t в строке S. Если подстрока не найдена, то InStr возвращает -1. Обратите внимание, что поиск осуществляется с учетом регистра. В случаях, когда необходимо осуществить поиск без учета регистра, перед вызовом InStr воспользуйтесь функцией Caps для преобразования строк. Если S или t не являются строками, то будет осуществлена попытка преобразования их значений в строки. Пример: InStr("These PANTS rock!", "PANTS"); //returns 6 InStr("These PANTS rock!", "pants"); //returns -1 InStr( Caps("These PANTS rock!"), Caps("pants") ); //returns 6 Mid string Mid ( coerce string S, int i, optional int j ) Функция Mid() возвращает подстроку из строки S начиная с символа по индексу i до символа по индексу j символов. Если j не указан, то копирование осуществляется до конца строки. Индекс i обрезается от 0 до значения длины строки. Индекс j обрезается между и i и значением длины строки. Если S не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: Mid("These PANTS rock!", 6, 5); //returns "PANTS" Mid("These PANTS rock!", 6); //returns "PANTS rock!" Left string Left ( coerce string S, int i ) Функция Left() возвращает подстроку из строки S от начала до символа по индексу i, символ по индексу i в результат не включается. Если S не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: Left("These PANTS rock!", 5); //returns "These" Right string Right ( coerce string S, int i ) Функция Right() возвращает подстроку из строки S начиная с символа по индексу i до конца строки. Если S не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: Right("These PANTS rock!", 5); //returns "rock!" Caps string Caps ( coerce string S ) Функция Caps() возвращает строку S в верхнем регистре. Если S не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: Caps("wooo"); //returns "WOOO" Locs string Locs ( coerce string S ) Функция Locs() возвращает строку S в нижнем регистре. Если S не является строкой, то будет осуществлена попытка преобразования ее значения в строку. Пример: Locs("WoOo"); //returns "wooo" Chr string Chr ( int i ) Функция Chr() возвращает строковое представление целого числа. Результатом может быть любой символ в диапазоне 0 - 65535 таблицы Unicode. Пример: Chr(65); //returns "A" Asc int Asc ( string S ) Функция Asc() возвращает числовое представление первого символа строки S в таблице Unicode. Пример: Asc("A"); //returns 65 Repl string Repl ( coerce string Src, coerce string Match, coerce string With, optional bool bCaseSensitive )   Функция Repl() заменяет все вхождения подстроки Match на подстроку With в строке Src. Если Src, Match или With не являются строками, то будет осуществлена попытка преобразования их значений в строки. Пример:
Repl("This is a test", "is", "was"); // produces "Thwas was a test"; Repl("Two be or not two be", "two", "to", true); // returns "Two be or not to be" Repl("Two be or not two be", "two", "to", false); // returns "to be or not to be"

Split

static final function string Split(coerce string Text, coerce string SplitStr, optional bool bOmitSplitStr)

 

Функция Split() развивает строку Text в месте первого вхождения SplitStr и возвращает оставшуюся чатсть строки Text. Если bOmitSplitStr истинно, то подстрока SplitStr из результата выбрасывается, а если ложно, то то подстрока SplitStr включается в результат. Если Text или SplitStr не являются строками, то будет осуществлена попытка преобразования их значений в строки.

Пример:

Split("Unreal Engine uses UnrealScript as its scripting language", "scripting", false); // returns "scripting language"

Split("Unreal Engine uses UnrealScript as its scripting language", "scripting", true); // returns " language"

 

GetRightMost

string GetRightMost( coerce string Text )

Функция GetRightMost() разбивает строку Text в месте вхождения символа '_' и возврящает остаток строки, например, номер из имени актора. Если Text не является строкой, то будет осуществлена попытка преобразования ее значения в строку.

Пример:

GetRightMost("CoverLink_45"); // returns "45"



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.