gpt4 book ai didi

julia - 如何定义一个 Vector 以使 Julia 中的所有元素都属于同一类型?

转载 作者:行者123 更新时间:2023-12-03 17:13:56 25 4
gpt4 key购买 nike

我需要定义一个 Vector 以便其中的所有元素都需要是相同的类型,尽管类型本身可以是任何类型。我尝试了以下方法:

["1", 2] isa AbstractVector{T} where T <: Any

但这会返回 true .

以下在这种情况下有效并正确返回 false如所须:
["1", 2] isa AbstractVector{T} where T <: Union{AbstractString, Number}

但是,我不想将类型限制为仅字符串、数字等。那么,尽管类型本身可以灵活,但我还能如何将 Vector 的所有元素限制为相同类型?

最佳答案

["2", 2]类型为 Vector{Any}T <: Anytrue因为设置 T = AnyAny <: Any应该评估为 true .

“1”是 StringString <: AbstractStringtrue .但是 Julia 的类型系统只能这样工作
T{S} <: T'{S}如果 T <: T' 为真但如果 T{S} <: T{S'} 则不正确即使 S <: S' .我不知道类型理论中的技术术语,但应该在此处详细说明 https://en.wikipedia.org/wiki/Covariance_and_contravariance_(computer_science)

关于julia - 如何定义一个 Vector 以使 Julia 中的所有元素都属于同一类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56302617/

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