Rust 在一行代码中将一行从stdin读入字符串

Rust 在一行代码中将一行从stdin读入字符串,rust,Rust,我知道我可以读一行,并将其转换为一行中的数字,即 let lines: u32 = io::stdin().read_line().ok().unwrap().trim().parse().unwrap(); 如何在没有解析的情况下,在一行中执行相同的操作?现在我这样做: let line_u = io::stdin().read_line().ok().unwrap(); let line_t = line_u.as_slice().trim(); 编辑:解释此处发生的情况: pub fn

我知道我可以读一行,并将其转换为一行中的数字,即

let lines: u32 = io::stdin().read_line().ok().unwrap().trim().parse().unwrap();
如何在没有解析的情况下,在一行中执行相同的操作?现在我这样做:

let line_u = io::stdin().read_line().ok().unwrap();
let line_t = line_u.as_slice().trim();
编辑:解释此处发生的情况:

pub fn stdin() -> StdinReader
fn read_line(&mut self) -> IoResult<String> // method of StdinReader
type IoResult<T> = Result<T, IoError>;
fn ok(self) -> Option<T>                    // method of Result
fn unwrap(self) -> T                        // method of Option
fn trim(&self) -> &str                      // method of str from trait StrExt
fn to_string(?) -> String // I don't know where is this located in documentation
pub fn stdin()->StdinReader
fn read_line(&mut self)->IoResult//StdinReader的方法
类型IoResult=结果;
fn ok(自我)->选项//结果方法
fn展开(自)->T//选项方法
fn trim(&self)->&str//trait-StrExt的str方法
fn to_string(?)->string//我不知道这在文档中的位置
我们可以对字符串使用trim,因为字符串是一个用指针(一个拥有的字符串)去创建的str

,, , , , , , ,

trim()
返回由
unwrap()
返回的
字符串的
&str
视图。无法存储此对象,因为拥有的
字符串将不再存在于语句末尾。因此,只需使用
to_string()
&str
转换回
字符串即可

let line = io::stdin().read_line().ok().unwrap().trim().to_string();