1

Haskellでこのコードを正しくインデントしているように見えません。 取得エラー:入力時のHaskell解析エラー

parse error on input `<-' 

でき、誰スポットエラーがである:

evalListSplitAt n stratPref stratSuff [] = return [] 
evalListSplitAt n stratPref stratSuff xs = do ys` <- stratPref ys 
               zs` <- stratSuff zs 
              return (ys` ++ zs`) 
              where (ys,zs) = splitAt n xs 

乾杯。

答えて

9

doブロック内のすべての行を均等にインデントする必要があります。また、`ではなく、変数名に'を必ず使用してください。 (backtickはバックスティックではなく、アポストロフィを使用しています。バックティックは、関数を中置にするために使用されるため、変数名の一部として使用することはできません。コードは次のようになります。

evalListSplitAt n stratPref stratSuff [] = return [] 
evalListSplitAt n stratPref stratSuff xs = do ys' <- stratPref ys 
               zs' <- stratSuff zs 
               return (ys' ++ zs') 
             where (ys,zs) = splitAt n xs 
関連する問題