diff options
author | Simon Hafner <hafnersimon@gmail.com> | 2014-02-11 14:20:55 -0600 |
---|---|---|
committer | Simon Hafner <hafnersimon@gmail.com> | 2014-02-11 14:20:55 -0600 |
commit | b6e4a5229dabe20514b07a130f8b26b59a427d61 (patch) | |
tree | 5610e28d200e57e18867d6d9274f76009c4e3171 /lib | |
parent | f6e8da4332eb974a0e2d55872667f21aece57bc8 (diff) | |
download | Nim-b6e4a5229dabe20514b07a130f8b26b59a427d61.tar.gz |
explicit firstElement for `$` in collections
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system.nim | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/system.nim b/lib/system.nim index e7308f5d3..222ed9d8d 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -1653,11 +1653,13 @@ proc `$`*[T: tuple|object](x: T): string = ## $(23, 45) == "(23, 45)" ## $() == "()" result = "(" + var firstElement = true for name, value in fieldPairs(x): - if result.len > 1: result.add(", ") + if not(firstElement): result.add(", ") result.add(name) result.add(": ") result.add($value) + firstElement = false result.add(")") proc `$`*[T: set](x: T): string = @@ -1667,9 +1669,11 @@ proc `$`*[T: set](x: T): string = ## .. code-block:: nimrod ## ${23, 45} == "{23, 45}" result = "{" + var firstElement = true for value in items(x): - if result.len > 1: result.add(", ") + if not(firstElement): result.add(", ") result.add($value) + firstElement = false result.add("}") proc `$`*[T: seq](x: T): string = @@ -1679,9 +1683,11 @@ proc `$`*[T: seq](x: T): string = ## .. code-block:: nimrod ## $(@[23, 45]) == "@[23, 45]" result = "@[" + var firstElement = true for value in items(x): - if result.len > 2: result.add(", ") + if not(firstElement): result.add(", ") result.add($value) + firstElement = false result.add("]") when false: |