gpt4 book ai didi

Haskell - 模式匹配语法糖和在哪里

转载 作者:行者123 更新时间:2023-12-03 12:32:46 24 4
gpt4 key购买 nike

我经常有这种模式的功能:

f :: a -> b
f x = case x of
... -> g ...
... -> g ...
...
... -> g ...
where g = ...

几乎这种情况有一个语法糖:
f :: a -> b
f ... = g ...
f ... = g ...
...
f ... = g ...

不幸的是,我无法附上我的 where对它:我显然会得到一堆 not in scope s。
我可以制作 g一个单独的函数,但它并不好:我的模块的命名空间将被实用函数污染。
有什么解决方法吗?

最佳答案

我认为你的第一个例子一点也不差。唯一的句法权重是 case x of , 加 ->而不是 = ;后者被您可以省略每个子句的函数名的事实所抵消。事实上,即使是 dflemstr 提出的 go辅助函数在语法上更重。

诚然,与正常的函数子句语法相比,它有点不一致,但这可能是一件好事:它更准确地在视觉上划定了 x 的范围。可用。

关于Haskell - 模式匹配语法糖和在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8932373/

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