gpt4 book ai didi

types - 获取参数类型的参数

转载 作者:行者123 更新时间:2023-12-04 22:58:08 27 4
gpt4 key购买 nike

假设我定义了一个这样的类型

type Point{Tx, Ty} end

然后我创建一个这种类型的变量,例如,
a = Point{Int64, :something}()

现在,我只知道我可以得到 a 的类型来自 typeof(a) .即, Point{Int64, :something} .
但是,我需要的只是参数 TxTy .

有什么方法可以获得这些参数 TxTy ?

最佳答案

你可以定义一个函数如下

eltypes{Tx,Ty}(::Type{Point{Tx, Ty}}) = (Tx, Ty)
eltypes(p) = eltypes(typeof(p))

(此处 ::Type{Point{Tx, Ty}} 匹配 Point{Tx, Ty} 类型的参数)并使用它
julia> eltypes(Point{Int, Float64}())
(Int64,Float64)

这是一个经常使用的习语,例如在Base中有类似的功能
eltype{T}(::Type{Set{T}}) = T
eltype(x) = eltype(typeof(x))

关于types - 获取参数类型的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35759794/

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