我正在尝试使用 Mojo Dict 来存储符合共同特征的结构的不同实例。我创建了一个“playground ”文件来找出解决方案,但我被难住了。感觉我真的很接近了,但还没有喜悦。有什么建议?
GitHub : https: //github.com/johnsoez4/dict
下面的代码片段使用文件前面定义的结构。下面的最后一行导致错误:
'Dict' parameter #1 has 'CollectionElement' type, but value has type 'Pet[?]'mojo
dict_playground.mojo(1, 1): 'Dict' declared here
struct Pet[T: TPet]
fn main() raises:
alias cats = "Cats"
alias dogs = "Dogs"
var my_pet = MyPet(cats)
var your_pet = YourPet(dogs)
var my_cats = Pet(cats, my_pet)
my_cats.start("champagne.")
var my_dogs = Pet(dogs, your_pet)
my_dogs.start("blueberries.")
# var d = Dict[StringKey, CollectionElement]() # Compiler crashes
var d = Dict[StringKey, Pet]() # Error here