Вопрос

Я новичок в Boo и пытаюсь понять, как объявить тип хеша.Когда я делаю:

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

компилятор жалуется, что «метод не является членом объекта».Я так понимаю, он не знает, какого типа значение в хеше.

Есть ли способ объявить компилятору, какой тип ключей и значений хеша, чтобы он не жаловался?

Это было полезно?

Решение

Встроенная хеш-таблица в boo очень похожа на стандартную хэш-таблицу .NET — ключ и значение каждой записи имеют тип «объект».

Лучше всего использовать общий словарь:

import System.Collections.Generic

myHash = Dictionary[of string, Foo]()

В этом примере будет создан словарь, в котором типом ключа является строка, а значение будет иметь тип Foo.

Другие советы

Другой вариант, который оставляет ваш код без изменений, — это включить утиный ввод с помощью -ducky выключатель.Лично я использую исключительно коллекции от System.Collections.Generic вместо встроенных типов списков и словарей, так как производительность намного выше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top