Haskellにはforがない。でもループのインデックスみたいなやつを使いたいとき。
> ['a','b','c']
のようなリストを扱っているときに、インデックスも使って処理をしたい時があるかもしれません。
その場合は自分でインデックスを付与してあげます。
> zip [0..] ['a','b','c'] [(0,'a'),(1,'b'),(2,'c')] >
fold
系の関数を使うときに、タプルで受け取って処理をすればよいと思います。
> foldl (\acc (idx,x)-> acc ++ (show (idx,x))) "" $ zip [0..] ['a','b','c'] "(0,'a')(1,'b')(2,'c')" >