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

问题描述 投票:4回答:1

我将heading "Processing a Guess"下的Rust编程语言的代码粘贴到Rust Playground上。但是,标准输出中没有显示提示。我已经搜索过这个问题,我认为这可能是the help lists的“局限性”之一。

我已经决定使用一些软件来帮助我在没有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);
}

结果是它将在没有任何惊恐发作,错误或警告的情况下正确编译,并打印到“标准输出”以下内容:

Guess the number!
Please input your guess.
You guessed: 

书中清单2-1中的信息告诉我们,这段代码应该能够从用户猜测猜测(作为字符串)。

我的期望是,我可以点击“标准输出”中的行,其中显示:

You guessed: 

但是当我点击冒号右边的空白区域并开始输入时,不会出现新的字符串。

我错过了一些关键的东西吗?

rust
1个回答
9
投票

游乐场做not currently accept user input via stdin。 stdin立即被有效关闭,因此你的程序没有输入并转到下一行代码,打印“guess”,这只是空字符串。

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

它不是,但可能应该是。

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

© www.soinside.com 2019 - 2024. All rights reserved.