久々にのけぞった。 いやもうね map とか reduce とか強力すぎるからw Clojureで多次元配列を扱う方法を探していたのですが たとえば3×3×3の大きさの3次元配列: (def lattice [[ [1 2 3] [4 5 6] [7 8 9]] [[10 11 12] [13 14 15] [16 17 18]] [[19 20 21] [22 23 24] [25 26 27]]]) の任意の要素を取り出したいとする。 lattice[z][y][x] のように簡単に要素を取り出したい。 いろいろ検索して見つけた答えは Clojureで書くとこうなります。 (reduce nth lattice [z y x]) うわー。やられた。おもいっきり盲点。 reduceは rubyでいうところの injectと覚えていたので (1..6).inject(:+) # = 1