多維陣列理解

巢狀的 for 迴圈可用於迭代許多獨特的迭代。

result = []
for a = iterable_a
    for b = iterable_b
        push!(result, expression)
    end
end

類似地,可以將多個迭代規範提供給陣列理解。

[expression for a = iterable_a, b = iterable_b]

例如,以下可用於生成 1:31:2 的笛卡爾積。

julia> [(x, y) for x = 1:3, y = 1:2]
3×2 Array{Tuple{Int64,Int64},2}:
 (1,1)  (1,2)
 (2,1)  (2,2)
 (3,1)  (3,2)

扁平化的多維陣列理解類似,只是它們失去了形狀。例如,

julia> [(x, y) for x = 1:3 for y = 1:2]
6-element Array{Tuple{Int64,Int64},1}:
 (1, 1)
 (1, 2)
 (2, 1)
 (2, 2)
 (3, 1)
 (3, 2)

是上述的扁平變體。句法差異在於使用了額外的 for 而不是逗號。