小编Web*_*Dev的帖子

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

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

["1", 2] isa AbstractVector{T} where T <: Any
Run Code Online (Sandbox Code Playgroud)

但这会返回true

以下在这种情况下有效并false根据需要正确返回:

["1", 2] isa AbstractVector{T} where T <: Union{AbstractString, Number}
Run Code Online (Sandbox Code Playgroud)

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

julia

5
推荐指数
1
解决办法
149
查看次数

Julia:如何将函数的参数类型定义为元组数组?

我有一个一维元组数组,我需要将其传递给定义为的函数

function f(a::Array{Tuple{Vararg{String}}, 1}) 
    #do some processing
end
Run Code Online (Sandbox Code Playgroud)

每个元组可以有任意数量的字符串元素,但对于数组中的所有元组,元素的数量将相同。例如,该阵列可以看起来像[("x1","x2"),("y1","y2")][("x1","x2","x3"),("y1","y2","y3")]等等。因此VARARG {字符串}的这个用法。

现在,当我运行时f([("x1","x2"),("y1","y2")]),它会引发错误

“方法错误:没有方法匹配 f(::Array{Tuple{String,String},1})”

我应该如何修改函数定义以使其有效?

julia

3
推荐指数
1
解决办法
841
查看次数

标签 统计

julia ×2