drkcore

2009/12/16 20:31:21

Haskellのインデント

下の感じのコードを書いたら、

do let ...
   if ... then
      ...
   else
      ...

インデント間違えてへんか?みたいなエラーが出まして、どうも、elseは ifよりも下げないといけないようだ、Haskell的には。

なんでifとelse揃えたらあかんのやー

WikiBookのdo within ifってところに書いてあった。doのなかでインデント揃えちゃうと;が入ってるものとみなされるから

do { first thing
   ; if condition
   ; then foo
   ; else bar
   ; third thing }

と解釈されてしまうらしい。

Comments