为什么需要用户输入的代码在Rust Playground中不起作用?

jos*_*001 5 rust

我复制粘贴,从代码锈病编程语言的标题“处理的猜测”锈游乐场。但是,标准输出中没有显示提示。我已经搜索了这个问题,我认为这可能是帮助列出的“局限性”之一。

我已经决定应该使用一些可以在没有Playground的情况下进行编码的软件,但是我还没有设置IDE,所以这也不是我的问题的一部分。

我试图做的是将以下代码复制粘贴到Rust操场上:

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);
}
Run Code Online (Sandbox Code Playgroud)

结果是它将正确编译,而不会出现任何紧急攻击,错误或警告,并输出以下内容到“标准输出”:

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);
}
Run Code Online (Sandbox Code Playgroud)

本书清单2-1中的信息告诉我们,此代码应能够从用户和猜测的打印内容中得到猜测(作为字符串)。

我的期望是,我将能够单击“标准输出”中的行,其中显示:

Guess the number!
Please input your guess.
You guessed: 
Run Code Online (Sandbox Code Playgroud)

但是,当我单击冒号右侧的空白并开始输入时,没有新的字符串出现。

我在这里错过了重要的东西吗?

She*_*ter 9

Playground 当前不接受通过stdin进行的用户输入。stdin会立即有效关闭,因此您的程序将无任何输入,而是继续执行下一行代码,并打印“ guess”(即空字符串)。

这可能是帮助列出的“限制”之一。

不是,但可能应该是。

资料来源:我是游乐场的创造者。