Domanda

Sono nuovo di Boo, e cercando di capire come dichiarare il tipo di un hash. Quando faccio:

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

il compilatore si lamenta che "il metodo non è membro di oggetto". Mi sembra di capire che non sa che cosa digitare il valore nel hash è.

C'è un modo per dichiarare al compilatore quale tipo le chiavi ei valori di hash sono in modo che non si lamenterà?

È stato utile?

Soluzione

La tabella hash incorporato in boo è molto simile a .NET Hashtable di serie -. La chiave e il valore di ogni voce sono sia di tipo "oggetto"

La cosa migliore è quella di utilizzare un Dizionario generico:

import System.Collections.Generic

myHash = Dictionary[of string, Foo]()

Questo esempio creare un dizionario in cui il tipo della chiave è una stringa, e il valore sarà di tipo Foo

Altri suggerimenti

Un'altra opzione che lascia invariato il codice è quello di consentire la digitazione anatra con l'interruttore -ducky. Io personalmente uso esclusivamente le collezioni System.Collections.Generic al posto della lista built-in e tipi del dizionario, come prestazioni è molto meglio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top