Spec-Zone.ru › Nim

system/dollars

Source Edit

$ является общим способом написания toString в Nim.

Пример:

import system/dollars
assert $0.1 == "0.1"
assert $(-2*3) == "-6"

Импорты

digitsutils, miscdollars, formatfloat, objectdollar

Процедуры

proc `$`(t: typedesc): string {.magic: "TypeTrait", ...raises: [], tags: [],
                                forbids: [].}

Возвращает имя заданного типа.

Для получения дополнительных процедур, связанных с typedesc, см. модуль typetraits.

doAssert $(typeof(42)) == "int"
doAssert $(typeof("Foo")) == "string"
static: doAssert $(typeof(@['A', 'B'])) == "seq[char]"
Source Edit
proc `$`(x: bool): string {.magic: "BoolToStr", noSideEffect, ...raises: [],
                            tags: [], forbids: [].}
Оператор форматирования для логического аргумента. Возвращает x преобразованное в строку "false" или "true". Source Edit
proc `$`(x: char): string {.magic: "CharToStr", noSideEffect, ...raises: [],
                            tags: [], forbids: [].}

Оператор форматирования для символьного аргумента. Возвращает x преобразованное в строку.

assert $'c' == "c"
Source Edit
proc `$`(x: cstring): string {.magic: "CStrToStr", noSideEffect, ...raises: [],
                               tags: [], forbids: [].}
Оператор форматирования для аргумента CString. Возвращает x преобразованное в строку. Source Edit
func `$`(x: float | float32): string
Отдельная версия addFloat. Source Edit
proc `$`(x: int): string {....raises: [], tags: [], forbids: [].}
Отдельная версия addInt. Source Edit
proc `$`(x: int64): string {....raises: [], tags: [], forbids: [].}
Отдельная версия addInt. Source Edit
proc `$`(x: string): string {.magic: "StrToStr", noSideEffect, ...raises: [],
                              tags: [], forbids: [].}
Оператор форматирования для строкового аргумента. Возвращает x в неизменном виде. Этот оператор полезен для обобщённого кода, так что $expr также работает, если expr уже является строкой. Source Edit
proc `$`(x: uint64): string {....raises: [], tags: [], forbids: [].}
Отдельная версия addInt. Source Edit
func `$`(x`gensym0: `{}`(int, lit)): string {.compileTime, ...raises: [], tags: [],
    forbids: [].}
Source Edit
func `$`(x`gensym1: `{}`(uint64, lit)): string {.compileTime, ...raises: [],
    tags: [], forbids: [].}
Source Edit
func `$`(x`gensym2: `{}`(int64, lit)): string {.compileTime, ...raises: [],
    tags: [], forbids: [].}
Source Edit
proc `$`[Enum: enum](x: Enum): string {.magic: "EnumToStr", noSideEffect,
                                        ...raises: [], tags: [], forbids: [].}

Оператор форматирования для аргумента перечисления. Это работает для любого типа перечисления благодаря магии компилятора.

Если для конкретного типа перечисления предоставлен оператор $, он используется вместо этого. (Другими словами: переопределение возможно.)

Source Edit
proc `$`[T, IDX](x: array[IDX, T]): string
Универсальный оператор форматирования для массивов, который взят из компонентов. Source Edit
proc `$`[T, U](x: HSlice[T, U]): string

Универсальный оператор форматирования для срезов, который взят из компонентов x. Пример:

$(1 .. 5) == "1 .. 5"
Source Edit
proc `$`[T: tuple](x: T): string

Универсальный оператор форматирования для кортежей, который взят из компонентов x. Пример:

$(23, 45) == "(23, 45)"
$(a: 23, b: 45) == "(a: 23, b: 45)"
$() == "()"
Source Edit
proc `$`[T](x: openArray[T]): string

Универсальный оператор форматирования для openArray, который взят из компонентов x. Пример:

$(@[23, 45].toOpenArray(0, 1)) == "[23, 45]"
Source Edit
proc `$`[T](x: seq[T]): string

Универсальный оператор форматирования для seq, который взят из компонентов x. Пример:

$(@[23, 45]) == "@[23, 45]"
Source Edit
proc `$`[T](x: set[T]): string

Универсальный оператор форматирования для множеств, который взят из компонентов x. Пример:

${23, 45} == "{23, 45}"
Source Edit

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

Spec-Zone.ru

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