自然数nに対して,[n] = {1, 2, …, n} として,[I]×[J]×[K]が欲しい時ととかってあるじゃないですか.テンソルの添え字でloop作りたいときとか.そういうときは,IterTools
のproduct
を使うとよいことに気が付いた.
using IterTools I = 2 J = 3 K = 2 for idx in product(1:I, 1:J, 1:K) print(idx) end
これで
(1, 1, 1) (2, 1, 1) (1, 2, 1) (2, 2, 1) (1, 3, 1) (2, 3, 1) (1, 1, 2) (2, 1, 2) (1, 2, 2) (2, 2, 2) (1, 3, 2) (2, 3, 2)
を得る.もっと早く知りたかった.
強い人に
CartesianIndices((I,J,K))
でできることも教わった.