diff options
author | Araq <rumpf_a@web.de> | 2011-03-24 00:58:28 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-03-24 00:58:28 +0100 |
commit | 62eb5b124e33966aaf6cc2d012d0c3d6bdd36d0c (patch) | |
tree | bf7b62899d8f84f495729ea2c7596f1d1bb2ac04 /lib/pure/gentabs.nim | |
parent | 5b789f2da8e57ea2adf0c088f5e41fd7a71fe89b (diff) | |
download | Nim-62eb5b124e33966aaf6cc2d012d0c3d6bdd36d0c.tar.gz |
fixes #21
Diffstat (limited to 'lib/pure/gentabs.nim')
-rwxr-xr-x | lib/pure/gentabs.nim | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/pure/gentabs.nim b/lib/pure/gentabs.nim index c57a77aed..1d000ba8c 100755 --- a/lib/pure/gentabs.nim +++ b/lib/pure/gentabs.nim @@ -104,12 +104,10 @@ proc hasKey*[T](tbl: PGenTable[T], key: string): bool = proc `[]`*[T](tbl: PGenTable[T], key: string): T = ## retrieves the value at ``tbl[key]``. If `key` is not in `tbl`, - ## "" is returned and no exception is raised. One can check + ## default(T) is returned and no exception is raised. One can check ## with ``hasKey`` whether the key exists. - var index: int - index = RawGet(tbl, key) + var index = RawGet(tbl, key) if index >= 0: result = tbl.data[index].val - #else: result = "" ### Not sure what to do here proc `[]=`*[T](tbl: PGenTable[T], key: string, val: T) = ## puts a (key, value)-pair into `tbl`. @@ -141,8 +139,6 @@ when isMainModule: assert(not x.hasKey("NOPE")) # ...but key "NOPE" is not in the table. for k,v in pairs(x): # make sure the 'pairs' iterator works assert(x[k]==v) - echo() - # # Verify a table of user-defined types @@ -154,15 +150,18 @@ when isMainModule: # value is TMyType tuple #var junk: TMyType = ("OK", "Here") + + #echo junk.first, " ", junk.second + y["Hello"] = ("Hello", "World") y["Goodbye"] = ("Goodbye", "Everyone") #y["Hello"] = TMyType( ("Hello", "World") ) #y["Goodbye"] = TMyType( ("Goodbye", "Everyone") ) + assert( not isNil(y["Hello"].first) ) assert( y["Hello"].first == "Hello" ) assert( y["Hello"].second == "World" ) - - + # # Verify table of tables # |