1
私はlearnyouahaskell.comからHaskellのを学んでいるとの例では、このようなことがあります:Haskellの複数行ラムダ
search :: (Eq a) => [a] -> [a] -> Bool
search needle haystack =
let nlen = length needle
in foldl (\acc x -
> if take nlen x == needle then True else acc) False (tails haystack)
しかし、GHCでこのコードをしようとしたとき、それは私に
error: parse error on input ‘-’
を与えるが、
search :: (Eq a) => [a] -> [a] -> Bool
search needle haystack =
let nlen = length needle
in foldl (\acc x -> if take nlen x == needle then True else acc) False (tails haystack)
複数行のラムダを許可する機能がありますか、それともsom私は行方不明ですか?
をあなたは複数行ラムダ許可されています。しかし、あなたは最悪の場所で線を分割しています。 ' - >'は重要です!それを保ち、それは動作するはずです。 – pdexter
あなたの矢印を壊してはいけません - '\ acc x - >'と続けて次の行をインデントしてください – Carsten
単語や演算子の途中に改行を挿入することはできません。 – melpomene