Spec-Zone.ru › Nim 1

cstrutils

Этот модуль поддерживает вспомогательные функции для работы с cstring без необходимости преобразования cstring в string для экономии выделения памяти.

Процедуры

proc startsWith(s, prefix: cstring): bool {...}{.noSideEffect, gcsafe,
    extern: "csuStartsWith", raises: [], tags: [].}

Возвращает true, если s начинается с prefix.

Если prefix == "" возвращается true.

Бэкенд JS использует нативные String.prototype.startsWith.

Исходный код Редактировать
proc endsWith(s, suffix: cstring): bool {...}{.noSideEffect, gcsafe,
    extern: "csuEndsWith", raises: [], tags: [].}

Возвращает true, если s оканчивается на suffix.

Если suffix == "" возвращается true.

Бэкенд JS использует нативные String.prototype.endsWith.

Исходный код Редактировать
proc cmpIgnoreStyle(a, b: cstring): int {...}{.noSideEffect, gcsafe,
    extern: "csuCmpIgnoreStyle", raises: [], tags: [].}
Семантически эквивалентно cmp(normalize($a), normalize($b)). Оно просто оптимизировано, чтобы не выделять временные строки. Это НЕ следует использовать для сравнения имён идентификаторов Nim. Используйте macros.eqIdent для этого. Возвращает:

0 если a == b
< 0 если a < b
> 0 если a > b

Не поддерживается бэкендом JS, используйте strutils.cmpIgnoreStyle вместо этого.

Исходный код Редактировать
proc cmpIgnoreCase(a, b: cstring): int {...}{.noSideEffect, gcsafe,
    extern: "csuCmpIgnoreCase", raises: [], tags: [].}
Сравнивает две строки без учёта регистра. Возвращает:

0 если a == b
< 0 если a < b
> 0 если a > b

Не поддерживается бэкендом JS, используйте strutils.cmpIgnoreCase вместо этого.

Исходный код Редактировать

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/cstrutils.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API