Pawn :: Основы скриптинга
Функции sparam, iparam, fparam
Эти функции служат для вырезания строки из строки разделенные каким либо символом.
Каждая функция вырежает только свой тип значения, она так и называется в соответствии со своим типом:
- sparam – расшифровывается как «string param» - извлекает подстроку под указанным номером, по желанию и вместес остатком строки.
- iparam – «integer param» - извлекает подстроку под указанным номером и возвращает ее численное значение
- fparam - «float param» - извлекает подстроку под указанным номером и возвращает ее десятичное (Float) значение.
Функция sparam
Синтаксис функции sparam следующий:
1 sparam(dest[], maxSize, const source[], delimiter = ' ', substrIndex, withRest)
dest[] - строка для вывода результата;
maxSize - максимальная длина подстроки, помещенная в dest[];
source[] - основная строка, из которой вырезаем подстроку;
delimiter - символ, который будет делить основную строку на подстроки;
substrIndex - порядковый номер подстроки;
withRest - логический флаг, если равен 1, то в dest[] будут помещены все подстроки, начинающиеся с указанного номера substrIndex, в том числе и все символы delimiter;
Функция ничего не возвращает!
new str[20];
sparam(str, 20, "First|Second|Third", '|', -1); //str = "", т.к. подстроки с таким номером не существует
sparam(str, 20, "First|Second|Third", '|', 0 ); //str = "First"
sparam(str, 20, "First|Second|Third", '|', 1 ); //str = "Second"
sparam(str, 20, "First|Second|Third", '|', 2 ); //str = "Third"
sparam(str, 20, "First|Second|Third", '|', 1, 1); //str = "Second|Third"
sparam(str, 20, "First|Second|Third", '|', 3); //str = "", т.к. подстроки с таким номером не существует
То же самое можно делать в диалогах, других функциях и строках.
Функция iparam
Синтаксис функции iparam следующий:
1 iparam (const source, delimiter = ' ', substrIndex)
source[] - основная строка, из которой вырезаем подстроку;
delimiter - символ, который будет делить основную строку на подстроки;
substrIndex - порядковый номер подстроки;
Возвращает целочисленное значение подстроки!
new value;
value = iparam("First 56 345 8", ' ', -1); //str = "", т.к. подстроки с таким номером не существует
value = iparam("First 56 345 8", ' ', 0); //str = 0, т.к "First» это не число.
value = iparam("First 56 345 8", ' ', 1); //str = "56"
value = iparam("First 56 345 8", ' ', 2); //str = "345"
value = iparam("First 56 345 8", ' ', 3); //str = "8"
value = iparam("First 56 345 8", ' ', 4); //str = "", т.к. подстроки с таким номером не существует
Функция iparam
Синтаксис функции iparam следующий:
1 fparam(const source, delimiter = ' ', substrIndex)
source[] - основная строка, из которой вырезаем подстроку;
delimiter - символ, который будет делить основную строку на подстроки;
substrIndex - порядковый номер подстроки;
Возвращает дробное численное значение подстроки!
new Float:value;
value = fparam("First 56.3 345.26 8", ' ', -1); //str = "", т.к. подстроки с таким номером не существует
value = fparam("First 56.3 345.26 8", ' ', 0); //str = 0.0, т.к "First» это не число.
value = fparam("First 56.3 345.26 8", ' ', 1); //str = "56.3"
value = fparam("First 56.3 345.26 8", ' ', 2); //str = "345.26"
value = fparam("First 56.3 345.26 8", ' ', 3); //str = "8.0"
value = fparam("First 56.3 345.26 8", ' ', 4); //str = "", т.к. подстроки с таким номером не существует
|
|
|