に失敗する原因となったコードが見えている VI中: 見えないインデントのエラーは、ここでは、負荷が私はトリッキーなインデントによって引き起こされる問題に会ったGHCiの
1 import Data.List
2 myQuickSort [] = []
3 myQuickSort (x:xs) = myQuickSort smaller ++ [x] ++ myQuickSort bigger
4 where smaller = filter (< x) xs
5 bigger = filter (>=x) xs
しかし./catの3.hs後
、それ[email protected]:/opt/playGround/haskell# cat 3.hs
import Data.List
myQuickSort [] = []
myQuickSort (x:xs) = myQuickSort smaller ++ [x] ++ myQuickSort bigger
where smaller = filter (< x) xs
bigger = filter (>=x) xs
そして、GHCiの中でそれをロードし、見え
GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help
Loading package base ... linking ... done.
Prelude> :l 3.hs
[1 of 1] Compiling Main (3.hs, interpreted)
3.hs:5:11: parse error on input `='
Failed, modules loaded: none.
Prelude>
どのようにすべき私はhaskellをプログラミングするときにこの目に見えないインデントエラーをキャッチしますか?
編集: このように記述すると、エラーになります。どこの場所に変数を置くのが良いか?
myQuickSort [] = []
myQuickSort (x:xs) = myQuickSort smaller ++ [x] ++ myQuickSort bigger
where
smaller = filter (<x) xs
bigger = filter (>=x) xs
または、Vimで ':set et'と':retab'でタブを現在の設定でスペースに展開し、 ':set ts = 8'でタブが将来8スペースになるようにします。 – ephemient