gpt4 book ai didi

haskell - 在 Unit 值上使用 case 表达式只是为了使用 guard 是一种好的风格吗?

转载 作者:行者123 更新时间:2023-12-03 15:19:15 25 4
gpt4 key购买 nike

测试几个 bool 表达式的推荐方法是什么?

我一直在使用这个:

case () of () | test1 -> value1
| test2 -> value2
| otherwise -> value3

这是好风格吗?有没有更漂亮的方法?

最佳答案

这种模式可以用一个函数来模拟——例如,cond来自 Control.Conditional :

signum x = cond [(x > 0     ,  1)
,(x < 0 , -1)
,(otherwise , 0)]

不过,我不能说它特别漂亮。

在接下来的 GHC 中,我们 will be able to use multi-way if ,万岁! (刚刚发现)
f t x = if | l <- length t, l > 2, l < 5 -> "length is 3 or 4" 
| Just y <- lookup x t -> y
| False -> "impossible"
| null t -> "empty"

关于haskell - 在 Unit 值上使用 case 表达式只是为了使用 guard 是一种好的风格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11620649/

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