我想根据其中的空白拆分作为输入提供的String
。我已经使用了split_whitespaces()
函数,但是当我在自定义输入中使用此函数时,它只是给了我第一个String
切片。
let s:String = read!();
let mut i:usize = 0;
for token in s.split_whitespace() {
println!("token {} {}", i, token);
i+=1;
}
我想念什么?
据我所知,read!
不是标准宏。快速搜索显示可能是来自text_io
条板箱(如果您使用外部条板箱,则应在问题中说明)。
来自该板条箱中的文档:
text_io
宏将始终读取,直到下一个ascii空格字符(read!()
,\n
,\r
或空格)。
所以您所看到的是设计使然。
如果要从\t
中读取整行,可以尝试使用标准功能stdin
。