【发布时间】:2017-08-27 07:40:45
【问题描述】:
在这个基本的 Rust 程序中,一个函数计算一个整数的绝对值,而 main() 帮助完成一个带有结果的语句:
fn main() {
let value = abs(-4);
println!("{}.", value);
}
fn abs(x: i32) -> i32 {
print!("The abs value of {} is ", x);
if x > 0 {
return x;
} else {
-x
}
}
有没有办法将整个语句“...的绝对值是...”正确打印到 abs() 函数中?我尝试使用
失败println!("The abs value of {} is {} ", x, x);
这总是打印 x 参数的值(例如 -4、-4),所以它不正确。
还有
println!("The abs value of {} is {} ", x, abs(x));
但是在这里,出于某种原因,Rust 对递归不满意,在编译时发出警告,然后不运行程序。
【问题讨论】:
标签: function macros rust absolute-value