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