Инициализировать пустой массив кортежей в Джулии - программирование
Подтвердить что ты не робот

Инициализировать пустой массив кортежей в Джулии

Я не могу понять, как инициализировать пустой массив кортежей. manual говорит:

Тип кортежа значений - это набор типов значений... Соответственно, кортеж типов может использоваться везде, где ожидается тип.

Но это не работает:

myarray = (Int64,Int64)[]

Но это делает:

Int64[]

Казалось бы, тип ожидается перед пустыми квадратными скобками, но тип кортежа не работает. Этот синтаксис <type>[] является единственным способом, которым я могу найти, чтобы получить пустой типизированный массив (другие методы, похоже, создают кучу значений #undef). Это единственный способ сделать это, и если это так, как я могу ввести массив с кортежами?

Кстати, мой вариант использования создает массив изначально неопределенной длины и нажимает на него кортежи в цикле.

4b9b3361

Ответ 1

Вы можете сделать Array((Int,Int),0) для этого. Возможно, возможно добавить методы к getindex, чтобы сделать работу (Int,Int)[], но я не уверен, что это того стоит. Не стесняйтесь открывать проблему.

Ответ 2

Для тех, кто ищет новейшее решение,

Tuple{Int, Int}[] работает в v0.4

Также вербальный способ Array{Tuple{Int, Int}}(0) также работает в v0.4.

Он создает 0-element Array{Tuple{Int64,Int64},1}