gpt4 book ai didi

Haskell 多语句效率

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

这对于检查 Haskell 中的多个语句是否有效?或者这有更好的方法吗?

case ((x > -10) && (x < 20),x /= 9,(x `mod` 2) == 0,x) of 
(False,_,_,_) -> error "Not in range"
(_,False,_,_) -> error "Must not be 9"
(_,_,False,_) -> error "Must be even"
(True,True,True,10) -> stuff ()
(True,True,True,20) -> stuff ()
_ -> error "Error Message"

最佳答案

有时很难想出这个问题的小例子,这些例子看起来不是人为的,但它们确实发生了。有时您需要一堆计算结果来弄清楚如何将函数拆分为多个案例。

所以是的,我经常发现使用 case 最干净在一组我可能关心的事物上构建复杂的决策过程。我相信懒惰来计算解决调用哪个分支所需的最小值。

尝试通过 bool 值守卫(甚至模式守卫)来表达您的测试是值得的,但有时没有什么比在大元组中列出您需要的计算值,然后为每个有趣的情况组合写一行更重要的了。

关于Haskell 多语句效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7071927/

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