On this page
system/dollars
Source Edit$
is Nim's general way of spelling toString.
Example:
import system/dollars
assert $0.1 == "0.1"
assert $(-2*3) == "-6"
Imports
Procs
-
proc `$`(t: typedesc): string {.magic: "TypeTrait", ...raises: [], tags: [], forbids: [].}
-
Returns the name of the given type.
For more procedures dealing with
typedesc
, see typetraits module.
Source EditdoAssert $(typeof(42)) == "int" doAssert $(typeof("Foo")) == "string" static: doAssert $(typeof(@['A', 'B'])) == "seq[char]"
-
proc `$`(x: bool): string {.magic: "BoolToStr", noSideEffect, ...raises: [], tags: [], forbids: [].}
-
The stringify operator for a boolean argument. Returns
x
converted to the string "false" or "true". Source Edit -
proc `$`(x: char): string {.magic: "CharToStr", noSideEffect, ...raises: [], tags: [], forbids: [].}
-
The stringify operator for a character argument. Returns
x
converted to a string.
Source Editassert $'c' == "c"
-
proc `$`(x: cstring): string {.magic: "CStrToStr", noSideEffect, ...raises: [], tags: [], forbids: [].}
-
The stringify operator for a CString argument. Returns
x
converted to a string. Source Edit -
proc `$`(x: int): string {....raises: [], tags: [], forbids: [].}
-
Outplace version of
addInt
. Source Edit -
proc `$`(x: int64): string {....raises: [], tags: [], forbids: [].}
-
Outplace version of
addInt
. Source Edit -
proc `$`(x: string): string {.magic: "StrToStr", noSideEffect, ...raises: [], tags: [], forbids: [].}
-
The stringify operator for a string argument. Returns
x
as it is. This operator is useful for generic code, so that$expr
also works ifexpr
is already a string. Source Edit -
proc `$`(x: uint64): string {....raises: [], tags: [], forbids: [].}
-
Outplace version of
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: [].}
-
The stringify operator for an enumeration argument. This works for any enumeration type thanks to compiler magic.
If a
Source Edit$
operator for a concrete enumeration is provided, this is used instead. (In other words: Overwriting is possible.) -
proc `$`[T, IDX](x: array[IDX, T]): string
-
Generic
$
operator for arrays that is lifted from the components. Source Edit -
proc `$`[T, U](x: HSlice[T, U]): string
-
Generic
$
operator for slices that is lifted from the components ofx
. Example:
Source Edit$(1 .. 5) == "1 .. 5"
-
proc `$`[T: tuple](x: T): string
-
Generic
$
operator for tuples that is lifted from the components ofx
. Example:
Source Edit$(23, 45) == "(23, 45)" $(a: 23, b: 45) == "(a: 23, b: 45)" $() == "()"
-
proc `$`[T](x: openArray[T]): string
-
Generic
$
operator for openarrays that is lifted from the components ofx
. Example:
Source Edit$(@[23, 45].toOpenArray(0, 1)) == "[23, 45]"
Exports
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/dollars.html