2013-10-17 31 views
10

我無法弄清楚如何初始化一個空的元組數組。 manual說:在Julia中初始化一個空的元組數組

值的元組的類型是值的類型的元組...因此,一個類型的元組可以用於任何類型的預期。

然而,這不起作用:

myarray = (Int64,Int64)[] 

但這:

Int64[] 

這似乎一種在空方括號前面的預期,但元組類型沒有按沒有工作。這個<type>[]語法是我可以找到一個空的類型數組(其他方法似乎產生一堆#undef值)的唯一方法。是做到這一點的唯一方法,如果是這樣,我怎樣才能用元組鍵入數組?

順便說一句,我的用例是創建一個初始不確定長度的數組,並將元組推到一個循環中。

回答

10

你可以爲此做Array((Int,Int),0)。向getindex添加方法以使(Int,Int)[]正常工作可能是可行的,但我不確定這是否值得。隨意打開一個問題。

+1

謝謝!您的解決方案有效,並且我添加了該問題。我認爲這絕對是值得的 - 當實際的語言語法與手冊所說的內容不一致時,實在令人困惑。 –

7

誰的人尋找最新的解決方案,

Tuple{Int, Int}[]作品V0.4

而且冗長的方式Array{Tuple{Int, Int}}(0)作品V0.4爲好。

它創建一個0-element Array{Tuple{Int64,Int64},1}