![](/img/trans.png)
[英]How do I specify a default command-line argument for a different (Python) script via a shell script?
[英]How do I accept a literal “*” as a command-line argument?
我正在用rust写一个非常简单的命令行计算器,先得到一个数字,一个运算符,然后是另一个数字,然后进行计算并打印结果。 为了显示我从命令args得到的内容,我将它们打印在主代码之前的循环中。 对于加号,减号和除法,我可以正常工作,但是对于乘法,在打印时会得到意外的结果,而不是星号(*)用于乘法,但是会在当前目录中得到文件列表。 这是我的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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.