Frage

Ich bin neu in Boo, und zu versuchen, herauszufinden, wie die Art eines Hash zu erklären. Wenn ich tun:

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

Der Compiler beschwert sich, dass „Verfahren ist kein Mitglied des Objekts“. Ich nehme an, dass es nicht weiß, was der Wert in der Hash-Typ ist.

Gibt es eine Möglichkeit, die Compiler erklären kann, was die Schlüssel und Werte des Hash-Typ ist, so dass es nicht beschweren?

War es hilfreich?

Lösung

Der eingebaute Hash-Tabelle in boo ist sehr ähnlich wie die Standard .NET Hashtable -. Der Schlüssel und der Wert jedes Eintrags sind beide vom Typ „Objekt“

Am besten ist es ein allgemeines Wörterbuch verwenden:

import System.Collections.Generic

myHash = Dictionary[of string, Foo]()

In diesem Beispiel wird ein Wörterbuch erstellen, in dem die Art des Schlüssels ist eine Zeichenfolge, und der Wert wird von Typ Foo

Andere Tipps

Eine weitere Option, die Ihr Code unverändert läßt ist Ente eingeben mit dem -ducky Schalter zu aktivieren. Ich persönlich ausschließlich die Sammlungen von System.Collections.Generic verwenden statt der integrierten Liste und Dictionary-Typen, wie die Leistung viel besser ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top