私はBooが初めてで、ハッシュのタイプを宣言する方法を理解しようとしています。私がする時:
myHash = {}
myHash[key] = value
(later)
myHash[key].method()
コンパイラは、「メソッドはオブジェクトのメンバーではありません」と不平を言います。ハッシュの値の型がわからないことがわかりました。
文句を言わないように、ハッシュのキーと値の型をコンパイラに宣言する方法はありますか?
私はBooが初めてで、ハッシュのタイプを宣言する方法を理解しようとしています。私がする時:
myHash = {}
myHash[key] = value
(later)
myHash[key].method()
コンパイラは、「メソッドはオブジェクトのメンバーではありません」と不平を言います。ハッシュの値の型がわからないことがわかりました。
文句を言わないように、ハッシュのキーと値の型をコンパイラに宣言する方法はありますか?
booに組み込まれているハッシュテーブルは、標準の.NETハッシュテーブルと非常によく似ています。各エントリのキーと値はどちらも「オブジェクト」タイプです。
最善の策は、一般的な辞書を使用することです。
import System.Collections.Generic
myHash = Dictionary[of string, Foo]()
この例では、キーのタイプが文字列で、値がFooタイプの辞書を作成します。
コードを変更しないもう 1 つのオプションは、-ducky
スイッチでダック タイピングを有効にすることです。System.Collections.Generic
パフォーマンスがはるかに優れているため、私は個人的に、組み込みのリストとディクショナリ タイプの代わりにコレクションのみを使用します。