相关疑难解决方法(0)

Haskell嵌套了where子句和"let ... in"语法

我刚刚开始使用Haskell.

这个嵌套的where子句有什么问题?

length' a = fromIntegral (length a)

isPalin1 xs = fstHalf == reverse sndHalf
    where
        fstHalf = take halfLength xs
        sndHalf = drop halfLength xs
            where halfLength = (length' xs) / 2
Run Code Online (Sandbox Code Playgroud)

我得到的错误: isPalin1.hs:5:32: Not in scope: ‘halfLength’

以下也是错误的,希望有人可以告诉我原因:

length' a = fromIntegral (length a)

isPalin2 xs = fstHalf == reverse sndHalf
    where
        let
            halfLength = (length' xs) / 2
        in
            fstHalf = take halfLength xs
            sndHalf = drop halfLength xs
Run Code Online (Sandbox Code Playgroud)

错误消息:

isPalin2.hs:7:17:
    parse error (possibly incorrect indentation or …
Run Code Online (Sandbox Code Playgroud)

haskell

3
推荐指数
2
解决办法
907
查看次数

标签 统计

haskell ×1