gpt4 book ai didi

dictionary - 定义一个空的 Dict,其中值是抽象类型的子类型

转载 作者:行者123 更新时间:2023-12-03 20:24:41 43 4
gpt4 key购买 nike

我有一个抽象类型,带有子类型。
我想制作并添加到包含子类型的 Dict 中。
这是可行的吗?
实现这一目标的更好方法是什么?
例子:

abstract type Cat end

struct Lion <: Cat
manecolour
end

struct Tiger <: Cat
stripewidth
end

cats = Dict{Int, <:Cat}()
ERROR: MethodError: no method matching Dict{Int64,var"#s3"} where var"#s3"<:Cat()
这样做更正确的方法是什么?

最佳答案

只需使用抽象类型作为容器类型:cats = Dict{Int, Cat}() :

julia> cats = Dict{Int, Cat}()
Dict{Int64,Cat}()

julia> cats[1] = Lion(12)
Lion(12)

julia> cats
Dict{Int64,Cat} with 1 entry:
1 => Lion(12)

关于dictionary - 定义一个空的 Dict,其中值是抽象类型的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63615880/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com