我在rust中编写了一个非常简单的命令行计算器,得到一个数字、一个运算符,然后是另一个数字,然后进行计算并打印结果。为了显示从命令参数得到的信息,我在主代码之前循环打印了它们。我对加号、减号和除号都很好,但是对于乘法,当我打印它时,我得到了意外的结果,而不是一个星号(*)表示乘法,我得到了当前目录中的文件列表。
这是我的锈代码,如果有任何解决办法,我会感谢你的解释。
use std::env;
fn main(){
let args: Vec<String> = env::args().collect();
for arg in args.iter(){
println!("{}", arg);
}
let mut result = 0;
let opt = args[2].to_string();
let oper1 = args[1].parse::<i32>().unwrap();
let oper2 = args[3].parse::<i32>().unwrap();
match opt.as_ref(){
"+" => result = oper1 + oper2,
"-" => result = oper1 - oper2,
"*" => result = oper1 * oper2,
"/" => result = oper1 / oper2,
_ => println!("Error")
}
println!("{} {} {} = {}", oper1, opt, oper2, result);
}