There is read_line:
http://static.rust-lang.org/doc/master/std/io/trait.Buffer.html#method.read_line
use std::io::{stdin, BufferedReader};
fn main() {
let mut stdin = BufferedReader::new(stdin());
let line = stdin.read_line().unwrap();
println!("{}", line);
}
Huon
On 09/02/14 11:44, Liigo Zhuang wrote:
2014年2月9日 上午7:35于 "Alex Crichton" <[email protected]
<mailto:[email protected]>>写道:
>
> We do indeed want to make common tasks like this fairly lightweight,
> but we also strive to require that the program handle possible error
> cases. Currently, the code you have shows well what one would expect
> when reading a line of input. On today's master, you might be able to
> shorten it slightly to:
>
> use std::io::{stdin, BufferedReader};
>
> fn main() {
> let mut stdin = BufferedReader::new(stdin());
> for line in stdin.lines() {
> println!("{}", line);
> }
> }
>
> I'm curious thought what you think is the heavy/verbose aspects of
> this? I like common patterns having shortcuts here and there!
>
This is not a common pattern for stdin. Programs often need process
something when user press return key, immediately. So read one line is
more useful than read multiple lines, at least for stdin. I agree to
need stdin.readln or read_line.
> On Sat, Feb 8, 2014 at 3:06 PM, Renato Lenzi <[email protected]
<mailto:[email protected]>> wrote:
> > I would like to manage user input for example by storing it in a
string. I
> > found this solution:
> >
> > use std::io::buffered::BufferedReader;
> > use std::io::stdin;
> >
> > fn main()
> > {
> > let mut stdin = BufferedReader::new(stdin());
> > let mut s1 = stdin.read_line().unwrap_or(~"nothing");
> > print(s1);
> > }
> >
> > It works but it seems (to me) a bit verbose, heavy... is there a
cheaper way
> > to do this simple task?
> >
> > Thx.
> >
> > _______________________________________________
> > Rust-dev mailing list
> > [email protected] <mailto:[email protected]>
> > https://mail.mozilla.org/listinfo/rust-dev
> >
> _______________________________________________
> Rust-dev mailing list
> [email protected] <mailto:[email protected]>
> https://mail.mozilla.org/listinfo/rust-dev
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev