在Julia中初始化一个空的元组数组

Initialize an Empty Array of Tuples in Julia

我不知道如何初始化一个空的元组数组。 该手册说:

The type of a tuple of values is the tuple of types of values... Accordingly, a tuple of types can be used anywhere a type is expected.

但这不起作用:

1
myarray = (Int64,Int64)[]

但这确实是:

1
Int64[]

空方括号前面似乎应该有一个类型,但是元组类型不起作用。 这种[]语法是我找到一个空的类型化数组的唯一方法(其他方法似乎会产生一堆#undef值)。 是唯一的方法,如果是的话,如何使用元组键入数组?

顺便说一句,我的用例是创建一个初始长度不确定的数组,并在循环中将元组推入数组。


您可以为此执行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)