2013-10-17 39 views
10

Tôi không thể tìm ra cách khởi tạo một bộ dữ liệu rỗng. Các manual nói:Khởi tạo một mảng rỗng của các bộ dữ liệu trong Julia

các loại của một tuple các giá trị là tuple các loại giá trị ... Theo đó, một tuple các loại có thể được sử dụng bất cứ nơi nào một loại dự kiến.

Tuy nhiên, điều này không làm việc:

myarray = (Int64,Int64)[] 

Nhưng điều này không:

Int64[] 

Có vẻ như một loại dự kiến ​​ở phía trước của dấu ngoặc vuông rỗng, nhưng loại tuple doesn 't làm việc. Cú pháp <type>[] này là cách duy nhất tôi có thể tìm thấy để có được một mảng được đánh trống (các phương thức khác dường như tạo ra một loạt các giá trị #undef). Là cách duy nhất để làm điều đó, và nếu nó là, làm thế nào tôi có thể gõ Array với tuples?

BTW, trường hợp sử dụng của tôi đang tạo ra một mảng có chiều dài không xác định ban đầu và đẩy các bộ dữ liệu vào trong vòng lặp.

Trả lời

10

Bạn có thể làm Array((Int,Int),0) cho việc này. Có thể có khả năng thêm phương thức vào getindex để thực hiện công việc (Int,Int)[], nhưng tôi không chắc nó có giá trị không. Vui lòng mở một vấn đề.

+1

Cảm ơn! Giải pháp của bạn hoạt động và tôi đã thêm sự cố. Tôi nghĩ rằng nó chắc chắn giá trị nó - nó thực sự khó hiểu khi cú pháp ngôn ngữ thực tế là không phù hợp với những gì hướng dẫn sử dụng nói. –

7

Đối với những người tìm kiếm các giải pháp mới nhất,

Tuple{Int, Int}[] công trình trong v0.4

Cũng cách tiết Array{Tuple{Int, Int}}(0) công trình trong v0.4 là tốt.

Tạo một 0-element Array{Tuple{Int64,Int64},1}

Các vấn đề liên quan