added $ for arrays
This commit is contained in:
parent
ffb36db5a6
commit
71b69a627f
2 changed files with 19 additions and 15 deletions
|
|
@ -1706,19 +1706,22 @@ proc `$`*[T: tuple|object](x: T): string =
|
|||
firstElement = false
|
||||
result.add(")")
|
||||
|
||||
proc collectionToString[T](x: T, b, e: string): string =
|
||||
result = b
|
||||
var firstElement = true
|
||||
for value in items(x):
|
||||
if not(firstElement): result.add(", ")
|
||||
result.add($value)
|
||||
firstElement = false
|
||||
result.add(e)
|
||||
|
||||
proc `$`*[T: set](x: T): string =
|
||||
## generic ``$`` operator for sets that is lifted from the components
|
||||
## of `x`. Example:
|
||||
##
|
||||
## .. code-block:: nimrod
|
||||
## ${23, 45} == "{23, 45}"
|
||||
result = "{"
|
||||
var firstElement = true
|
||||
for value in items(x):
|
||||
if not(firstElement): result.add(", ")
|
||||
result.add($value)
|
||||
firstElement = false
|
||||
result.add("}")
|
||||
collectionToString(x, "{", "}")
|
||||
|
||||
proc `$`*[T: seq](x: T): string =
|
||||
## generic ``$`` operator for seqs that is lifted from the components
|
||||
|
|
@ -1726,13 +1729,10 @@ proc `$`*[T: seq](x: T): string =
|
|||
##
|
||||
## .. code-block:: nimrod
|
||||
## $(@[23, 45]) == "@[23, 45]"
|
||||
result = "@["
|
||||
var firstElement = true
|
||||
for value in items(x):
|
||||
if not(firstElement): result.add(", ")
|
||||
result.add($value)
|
||||
firstElement = false
|
||||
result.add("]")
|
||||
collectionToString(x, "@[", "]")
|
||||
|
||||
proc `$`*[T: array](x: T): string =
|
||||
collectionToString(x, "[", "]")
|
||||
|
||||
# ----------------- GC interface ---------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
discard """
|
||||
output:'''@[23, 45]
|
||||
@[, \"foo\", \"bar\"]'''
|
||||
@[, foo, bar]
|
||||
[, foo, bar]
|
||||
[23, 45]'''
|
||||
"""
|
||||
|
||||
echo($(@[23, 45]))
|
||||
echo($(@["", "foo", "bar"]))
|
||||
echo($(["", "foo", "bar"]))
|
||||
echo($([23, 45]))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue