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 только показывает его.