- *(新手入门)**我正在编写一个简单的程序,它可以打印出0和一个终端参数中的数字之间的数字,我想把这个数字从字符串转换为i128。实现这个目标需要什么步骤?
我的当前代码:
use std::env;
fn main()
{
let args: String = env::args().skip(1).collect::<Vec<String>>().join(" ");
println!("{}", 0..args.parse::<i128>().unwrap());
}
expecting: (Input: 10)
0
1
2
3
4
5
6
7
8
9
10
得到:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ParseIntError { kind: Empty }', src/main.rs:11:40
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
1条答案
按热度按时间g9icjywg1#
要从控制台获取输入,使用
use std::io;
。另外,你不能使用println!()
宏打印一个范围,你必须使用for
循环来完成。注意:
read_line()
不会从输入中删除换行符,因此您需要在解析输入字符串之前删除换行符。下面是一个程序来接受用户输入和打印范围从0到用户输入: