Nim哈希表将字符串映射到任何类型

时间:2017-11-07 06:27:57

标签: hashtable nim

如何在Nim中实例化一个哈希表,将哈希表映射到任何类型的对象(包括基本数据类型)?这些似乎都不起作用:

import tables
var t = newTable[string, any]()
var t = newTable[string, ref]()
var t = newTable[string, auto]()
var t = newTable[string, object]()

1 个答案:

答案 0 :(得分:1)

你没有。与Java这样的语言不同,Java中的所有内容都是从Object派生的,你可以将它作为基类型使用,而Nim没有一个类型可以从中派生出来。大多数面向对象的类型都使用RootObj作为基础。但是,这对基本数据类型不起作用。

您可以使用object variants来创建一种类型,该类型可以包含多个不同类型的值之一。通常情况下,这个问题出现在人们习惯使用脚本语言的地方,其中任何类型的映射一直在使用,但实际上很少需要。所以最有可能的是,在不需要这样的哈希表的情况下,还有另一种解决方案。