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

コードを変更しないもう 1 つのオプションは、-duckyスイッチでダック タイピングを有効にすることです。System.Collections.Genericパフォーマンスがはるかに優れているため、私は個人的に、組み込みのリストとディクショナリ タイプの代わりにコレクションのみを使用します。

于 2010-03-11T21:35:48.370 に答える