gpt4 book ai didi

function - 有没有办法评估一个函数作为匹配臂的输入?

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

match input_string {
func_that_returns_string(MyEnum::MyVariant1) => do_something(),
func_that_returns_string(MyEnum::MyVariant2) => do_something_else(),
_=> do_nothing(),
}

以下是错误消息的示例:错误:预期元组结构或元组变体,找到函数 func_that_returns_string

最佳答案

好吧,您可以使用 match guard 来做到这一点,看起来像 x if condition =>

fn fun(variant: MyEnum) -> String {
match variant {
MyEnum::Variant1 => "String1".to_string(),
MyEnum::Variant2 => "String2".to_string(),
}
}

pub fn main() {
let s = "String2".to_string();
match s {
s if s == fun(MyEnum::Variant1) => do_something(1),
s if s == fun(MyEnum::Variant2) => do_something(2),
_ => {},
}

// prints 2
}

但无论哪种方式看起来都很笨拙,我建议您修改您的设计。

关于function - 有没有办法评估一个函数作为匹配臂的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70658507/

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