API UO GetWordCount - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetWordCount
Оглавление · Алфавитный указатель · Files / JSON / Data
ClassicUO • Runtime API
Считает непустые слова после разделения строки.
Точный синтаксис
UO.GetWordCount(value:String) -> Integer
UO.GetWordCount(value:String, delimiter:String) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
value— Исходный текст.delimiter— Необязательный разделитель. Отсутствие, пустая строка или один пробел выбирают любые Unicode whitespace; другая строка — точный разделитель целиком.
Возвращает
Integer — число непустых частей. Пустой текст и текст только из разделителей дают 0. Последовательные разделители не создают пустые слова.
Поведение
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
Примеры
Пример 1. Слова с лишними пробелами
# Слова с лишними пробелами
#
# Считает непустые слова после разделения строки.
#
# Integer — число непустых частей. Пустой текст и текст только из разделителей дают 0.
# Последовательные разделители не создают пустые слова.
SUB Main()
# Разделитель не передан: пустые части удаляются.
# Ожидаемый результат: 2. В result сохраняется результат выражения; Print только показывает его.
VAR result = UO.GetWordCount(' iron gold ')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Разделитель не передан: пустые части удаляются.
- Ожидаемый результат: 2. В result сохраняется результат выражения; Print только показывает его.
Пример 2. Разделённый список
# Разделённый список
#
# Считает непустые слова после разделения строки.
#
# Integer — число непустых частей. Пустой текст и текст только из разделителей дают 0.
# Последовательные разделители не создают пустые слова.
SUB Main()
# delimiter="|"; два соседних разделителя и последний не увеличивают счётчик.
# Ожидаемый результат: 2. В result сохраняется результат выражения; Print только показывает его.
VAR result = UO.GetWordCount('a||b|','|')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- delimiter="|"; два соседних разделителя и последний не увеличивают счётчик.
- Ожидаемый результат: 2. В result сохраняется результат выражения; Print только показывает его.
Пример 3. Пустой текст
# Пустой текст
#
# Считает непустые слова после разделения строки.
#
# Integer — число непустых частей. Пустой текст и текст только из разделителей дают 0.
# Последовательные разделители не создают пустые слова.
SUB Main()
# Нет непустых слов.
# Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.
VAR result = UO.GetWordCount('')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Нет непустых слов.
- Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.