gpt4 book ai didi

parameters - 将 if block 作为参数传递

转载 作者:行者123 更新时间:2023-11-29 08:00:40 24 4
gpt4 key购买 nike

我正在尝试用 Rust 编写一个小测试程序,并且由于几乎所有东西都可以是这种语言的表达式,包括 if 语句,我想传递一个 if- else block 作为 println! 宏的参数,如下所示:

println!("{} {} {}", i.name, if v>0 {"owes"} else{"must receive"}, if v<0 {-v} else{v});

但是我收到了这个错误:

src/main.rs:34:38: 34:39 error: mismatched types:
expected `f32`,
found `_`
(expected f32,
found integral variable) [E0308]
src/main.rs:34 println!("{} {} {}", i.name, {if v>0 {"owes"} else{"must receive"}}, if v<0 {-v} else{v});

另一个 if-else block 也有同样的错误,我已经省略了。就我对这个概念的理解而言,这应该可行,因为这个 if-else block 是返回每个分支中最后一个值的表达式。

任何帮助将不胜感激,在此先感谢。

最佳答案

v可能是一个 f32 , 表示比较 v>0有类型错误。
尝试 v>0.0v<0.0相反。

关于parameters - 将 if block 作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30584703/

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