我无法弄清楚如何初始化一个空的元组数组.该手册说:
值元组的类型是值类型的元组...因此,可以在期望类型的任何地方使用类型元组.
然而,这不起作用:
myarray = (Int64,Int64)[]
Run Code Online (Sandbox Code Playgroud)
但这样做:
Int64[]
Run Code Online (Sandbox Code Playgroud)
在空方括号前面看起来似乎是一种类型,但是元组类型不起作用.这种<type>[]语法是我能找到获得空类型数组的唯一方法(其他方法似乎产生了一堆#undef值).是唯一的方法,如果是这样,我怎么能用元组键入数组?
顺便说一句,我的用例是创建一个最初不确定长度的数组,并在一个循环中将元组推送到它上面.
Ste*_*ski 10
你可以做到Array((Int,Int),0)这一点.添加方法来getindex制作(Int,Int)[]工作可能是可行的,但我不确定它是否值得.随意打开一个问题.
对于寻找最新解决方案的人,
Tuple{Int, Int}[] 适用于v0.4
另外,冗长的方式也Array{Tuple{Int, Int}}(0)适用于v0.4.
它创造了一个 0-element Array{Tuple{Int64,Int64},1}
请注意,在v1.0中,您需要编写
Array{Tuple{Int, Int}}(undef, 0)