Как вы эмулируете словарь / хэш-таблицу в бу?

Если вы хотите создать класс boo, который будет вести себя как словарь или хеш-таблица, каков правильный синтаксис? В Python вы переопределите __getitem__ а также __setitem__, но мне не удалось найти эквивалентные магические методы в Boo, и я не думаю, что смогу наследовать от Dictionary в этом случае.

1 ответ

Решение

Если вы хотите адаптировать существующий класс, чтобы он действовал как словарь / хэш (или для доступа к внутреннему полю одного из этих классов), эквивалент переопределению __setitem__ а также __getitem__ определяет свойство массива по умолчанию для класса, вот так:

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

(Вы должны будете заполнить типы и фактические принадлежности самостоятельно.)

Другие вопросы по тегам