考虑以下伪代码
fn test_function(arg) {
if check_first_cond(arg) { return transform_first(arg) }
if check_second_cond(arg) { return transform_second(arg) }
if check_third_cond(arg) { return transform_third(arg) }
return transform_default(arg)
}
在
gleam
中编写上述代码的一些方法是:
fn test_function1(arg) {
case check_first_cond(arg) {
True -> transform_first(arg)
False -> case check_second_cond(arg) {
True -> transform_second(arg)
False -> case check_third_cond(arg) {
True -> transform_third(arg)
False -> transform_default(arg)
}
}
}
}
// Or
fn test_function2(arg) {
let c1 = check_first_cond(arg)
let c2 = check_second_cond(arg)
let c3 = check_third_cond(arg)
case c1, c2, c3 {
True, _, _ -> transform_first(arg)
False, True, _ -> transform_second(arg)
False, False, True -> transform_third(arg)
_, _, _ -> transform_default(arg)
}
}
如何以正确/更漂亮的方式编写此类代码?
有没有一种闪光/功能惯用的方式来编写这样的代码?
gleam
、
use
的内容,但无法正确理解它们。谢谢,非常感谢任何帮助。bool.guard
和
use
来使用它,如下所示:bool.guard
根据docs这里的关键思想是:
test_function1
<-
use