我将 The Rust Programming Language 中的代码复制粘贴到Rust Playground上的“Processing a Guess”标题下。但是,标准输出中没有显示提示。我已经搜索了这个问题,我认为这可能是the help lists的“限制”之一。
我已经决定,我应该使用一些软件,将帮助我的代码没有Playground,但我没有一个IDE设置,这不是我的问题的一部分,无论如何。
我尝试做的是将以下代码复制粘贴到RustPlayground:
use std::io;
fn main() {
println!("Guess the number!");
println!("Please input your guess.");
let mut guess = String::new();
io::stdin().read_line(&mut guess)
.expect("Failed to read line");
println!("You guessed: {}", guess);
}
字符串
结果是它将正确编译,没有任何恐慌攻击,错误或警告,并打印到“标准输出”:
Guess the number!
Please input your guess.
You guessed:
型
书中的示例2-1中的信息告诉我们,这段代码应该能够从用户那里得到一个猜测,并打印这个猜测(作为一个字符串)。
我的期望是,我将能够点击“标准输出”中的行,其中写道:
You guessed:
型
但是当我点击冒号右边的空白并开始输入时,没有新的字符串出现。
我是不是漏掉了什么重要的东西?
2条答案
按热度按时间xjreopfe1#
Playground做not currently accept user input via stdin。stdin实际上是立即关闭的,因此您的程序没有任何输入,并移动到下一行代码,打印“guess”,这只是一个空字符串。
这可能是帮助列表中的“限制”之一。
它不是,但可能应该是。
来源:我是Playground的创造者。
13z8s7eq2#
不幸的是,它不能接受来自终端的stdin上的任何输入,但有一些替代方案,如OnlineGDB,允许输入。