次のコードでは、m!!i!!j
は何の略ですか?すべての例が参考になります。ハスケル!!演算子の組み合わせ
matrixElements :: [[t]] -> [t]
matrixElements m =
[m!!i!!j | i<-[0..length m - 1],
j<-[0..length(head m) - 1],
even(i + j)]
main = assertEqual [1,3,5,7,9] $ matrixElements [[1,2,3], [4,5,6], [7,8,9]]
[ '(!!):: [A] - >のInt - > A']( http://hackage.haskell.org/package/base-4.9.0.0/docs/Data-List.html#v:-33--33-)は、リストとインデックスを取得し、リストの要素をインデックス。 – sjakobi
'[x | (i、row)< - zip [0 ..] m、(j、x)< - zip [0 ..] row、even(i + j)] 'である。 – Ryan
haskellタグを参照してください。[info section] – jberryman