2015-08-26 3 views
1

Si vous voulez faire une classe boo qui se comporte comme un dictionnaire ou une hashtable, quelle est la syntaxe correcte? En Python, vous devez remplacer __getitem__ et __setitem__, mais j'ai été incapable de trouver les méthodes magiques équivalentes dans Boo et je ne pense pas que je puisse hériter du dictionnaire dans ce cas.Comment émuler un dictionnaire/hashtable dans boo?

Répondre

1

Si vous souhaitez adapter une classe existante pour qu'elle agisse comme un dictionnaire/hachage (ou pour accéder à un champ interne de l'une de ces classes), l'équivalent de __setitem__ et __getitem__ définit une propriété de tableau par défaut sur la classe , comme ceci:

public self[key as TKey] as TValue: 
    get: 
     return LookupValue(key) 
    set: 
     SetValue(key, value) 

(Vous devez remplir les types et accesseurs réels vous-même.)