gpt4 book ai didi

haskell - 在 Let、Haskell 范围界定中,

转载 作者:行者123 更新时间:2023-12-02 17:34:01 25 4
gpt4 key购买 nike

我想访问下面的 where 子句中的 let 绑定(bind)。​​

为什么此代码失败?更重要的是:我如何让它发挥作用?

test bar = let baz = bar - 1 in
foo where
foo = baz`

它说:不在范围内:baz'
也许你的意思是
酒吧'

最佳答案

您可以将 where 视为在属于单个匹配的右侧编写 let 的另一种方式。

就您而言,这很简单,因为只有一个右侧。因此,您写道:

test bar = let foo = baz in let baz = bar-1 in foo

这是行不通的。我建议坚持使用 wherelet,最惯用的做法是:

test bar = foo
where
foo = baz
baz = bar -1

除此之外,当您只定义 baz 时,baz' 将永远不会在范围内。

关于haskell - 在 Let、Haskell 范围界定中,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20493751/

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