2

我是 Boo 的新手,并试图弄清楚如何声明哈希的类型。当我做:

   myHash = {}
   myHash[key] = value
   (later)
   myHash[key].method()

编译器抱怨“方法不是对象的成员”。我收集它不知道哈希中的值是什么类型。

有什么方法可以向编译器声明哈希的键和值是什么类型,这样它就不会抱怨?

4

2 回答 2

2

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

您最好的选择是使用通用字典:

import System.Collections.Generic

myHash = Dictionary[of string, Foo]()

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

于 2010-02-02T20:11:39.460 回答
1

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

于 2010-03-11T21:35:48.370 回答