Hash Boo:显式指定散列的类型

Hash Boo:显式指定散列的类型,hash,boo,static-typing,Hash,Boo,Static Typing,我是Boo的新手,正在尝试弄清楚如何声明散列的类型。当我这样做时: myHash = {} myHash[key] = value (later) myHash[key].method() 编译器抱怨“方法不是对象的成员”。我推测它不知道散列中的值是什么类型 我有没有办法向编译器声明散列的键和值是什么类型的,这样它就不会抱怨了?boo中的内置哈希表与标准.NET哈希表非常相似-每个条目的键和值都是“object”类型 最好使用通用词典: import System.Co

我是Boo的新手,正在尝试弄清楚如何声明散列的类型。当我这样做时:

   myHash = {}
   myHash[key] = value
   (later)
   myHash[key].method()
编译器抱怨“方法不是对象的成员”。我推测它不知道散列中的值是什么类型


我有没有办法向编译器声明散列的键和值是什么类型的,这样它就不会抱怨了?

boo中的内置哈希表与标准.NET哈希表非常相似-每个条目的键和值都是“object”类型

最好使用通用词典:

import System.Collections.Generic

myHash = Dictionary[of string, Foo]()

此示例将创建一个字典,其中键的类型为字符串,值的类型为Foo

另一个保持代码不变的选项是使用
-ducky
开关启用duck键入。我个人专门使用
System.collections.Generic
中的集合,而不是内置的列表和字典类型,因为性能要好得多