Хелпикс

Главная

Контакты

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





Функции класса Actor. ReplaceText. GetItemName. Особые замечания. Объединение строк и присваивание



Функции класса Actor

ReplaceText

function ReplaceText(out string Text, string Replace, string With)

Функция ReplaceText() похожа на функцию Repl() с тем исключетием, что результат сохраняется в исходную строку.

Пример:

Str = "This is a test";

ReplaceText(Str, "is", "was"); // Str contains "Thwas was a test";

 

Str = "Two be or not two be";

ReplaceText(Str, "two", "to"); // Str contains "Two be or not to be"

GetItemName

String GetItemName( string FullName )

Функция GetItemName() принимает строку вида "Package.Item" и возвращает ее часть, соответствующую "Item".

Пример:

GetItemName(string(self)); // returns the class name

GetItemName("Package.Group.bla.Item"); // return "Item"

Особые замечания

Объединение строк и присваивание

В коде сценариев вам будут встречаться фрагменты, подобные следующему:

for ( i = 0; i < Count; i++ )

{

if ( MyString != "" )

{

       MyString = MyString + ", ";

}

MyString = MyString + NextArrayValue[i];

}

Есть два строковых оператора для выполнения объединения и присваивания строк:

native(322) static final operator(44) string $= ( out string A, coerce string B ); native(323) static final operator(44) string @= ( out string A, coerce string B);

Код, приведенный выше, можно переписать следующим образом:

for ( i = 0; i < Count; i++ )

{

if ( MyString != "" )

{

       MyString $= ", ";

}

MyString $= NextArrayValue[i];

}

Причина в том, что оператор $= работает быстрее!

На самом деле в двух этих случаях осуществляется следующее:

MyString = MyString + NextArrayValue[i];

  • Оценка левой стороны; поиск адреса переменной MyString.
  • Оценка правой стороны, вызов оператора +(execString_Concat)
  • Поиск адреса переменной MyString; копирование ее значения во временный буфер для использования оператором +.
  • Поиск адреса NextArrayValue (execArrayElement); копирование его значения во временный буфер для использования оператором +.
  • Сложение двух временных буфером вместе; копирование строки в переменную MyString.

MyString $= NextArrayValue[i];

  • Поиск адреса переменной MyString.
  • Поиск адреса переменной NextArrayValue. Его прямое присоединение к MyString.

Данный документ является переводом оригинального документа Strings In UnrealScript.

 



  

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