如何定义一个向量,使所有元素在Julia中都属于同一类型?

如何定义一个向量,使所有元素在Julia中都属于同一类型?,julia,Julia,我需要定义一个向量,使得其中的所有元素都必须是相同的类型,尽管类型本身可以是任何类型。我尝试了以下方法: ["1", 2] isa AbstractVector{T} where T <: Any 但是,我不想将类型限制为仅字符串、数字等。那么,尽管类型本身可以灵活,我如何才能将向量的所有元素限制为相同的类型呢?[“2”,2]的类型是向量{Any}和t如果你有一个向量v,你可以尝试isconcretetype(eltype(v))。请注意,您的问题有点含糊不清,因为所有抽象类型和联合类型

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

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

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

[“2”,2]
的类型是
向量{Any}
t如果你有一个向量
v
,你可以尝试
isconcretetype(eltype(v))
。请注意,您的问题有点含糊不清,因为所有抽象类型和联合类型仍然是“单一类型”。在我的回答中,我假设您实际上是指一个具体的类型。@DNF我不想使用isconcretetype()手动检查它,但想知道是否有一种方法可以在向量的类型定义中声明它。此向量将作为参数由我的函数调用方传递,因此我希望在函数签名本身中指定向量的预期类型。您正在寻找仅允许具有具体eltype的向量的类型签名?是的,例如[1,2]或[“1”,“2”]是可接受的输入。但不是[“1”,2]。希望这是清楚的,我不知道有什么方法可以做到这一点。但您可以在函数体中手动执行该检查,而不会因为类型专门化而损失性能。
["1", 2] isa AbstractVector{T} where T <: Union{AbstractString, Number}