gpt4 book ai didi

haskell - 让缩进在 proc 表示法中

转载 作者:行者123 更新时间:2023-12-04 16:44:02 25 4
gpt4 key购买 nike

我有以下代码

{-# LANGUAGE Arrows #-}

test :: Int -> Int
test =
proc x -> do
let x = case x of
3 -> 2
2 -> 1
_ -> 0
returnA -< x

test2 =
proc x -> do
let x =
case x of
3 -> 2
2 -> 1
_ -> 0
returnA -< x

test 编译,但 test2 不解析。是否可以在 = 之后将案例放在单独的行上?

最佳答案

这与 proc 无关符号。 case必须至少与 let 绑定(bind)的起始名称后的一个字符一样缩进.

例如,这编译:

test x =
let y =
case x of
3 -> 2
1 -> 1
_ -> 0
in ()

这也是:
test2 x =
let abcdefghi =
case x of
3 -> 2
1 -> 1
_ -> 0
in ()

但这不是:
test3 x =
let abcdefghi =
case x of
3 -> 2
1 -> 1
_ -> 0
in ()

因为 caseabcdefghi 的第一个字符处于同一级别.

关于haskell - 让缩进在 proc 表示法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24900587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com