获取整数的基本输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取整数的基本输入相关的知识,希望对你有一定的参考价值。

我很惊讶我似乎无法浏览rust的文档以找到描述io的任何情况,有人可以向我解释如何使用基本的io来获取用户输入说,一个整数?也许在哪里可以找到那些被诅咒的文件中的io细节?谢谢

答案

回答你关于ints的问题。 (所有这些类型的注释都是可选的,我已经将每个步骤分开了。)

use std::io;

fn main() {
    let mut stdin = io::stdin();

    let err_line: io::IoResult<String> = stdin.read_line();
    let line: String = err_line.unwrap();

    let line_no_extra_whitespace: &str = line.as_slice().trim();
    let possible_number: Option<int> = from_str(line_no_extra_whitespace);

    match possible_number {
        Some(n) => println!("double your number is {}", 2 * n),
        None => println!("please type an integer")
    }
}

文档(注意:文档中的几乎所有类型都是可点击的,带您进入一个页面,其中包含更多描述/列出您可以使用它们执行的操作):

此外,请注意,可以通过页面顶部的搜索框搜索文档,例如searching for "stdin"。 (您可以在任何页面上按's'跳转到搜索框,准备输入。)


你可能也对this answer感兴趣,关于堆分配的String和字符串切片&str之间的区别。

其他人指出了cheatsheet,文件std的入口点,以及IO特定的std::io。还有其他地方有很好的信息,比如std::result文本,用于处理IO操作的返回值(记住IoResultResult,所以支持所有这些操作),以及irc.mozilla.org上的#rust IRC频道(web client)通常有多个人愿意帮忙。

另一答案

来自http://doc.rust-lang.org/std/index.html

io模块中定义了常见的I / O类型,包括文件,TCP,UDP,管道,Unix域套接字,定时器和进程生成。

并从该文档链接:http://doc.rust-lang.org/std/io/

读:

use std::io;

for line in io::stdin().lines() {
    print!("{}", line.unwrap());
}

以上是关于获取整数的基本输入的主要内容,如果未能解决你的问题,请参考以下文章

在片段着色器中,为啥我不能使用平面输入整数来索引 sampler2D 的统一数组?

Android 使用两个不同的代码片段获取当前位置 NULL

从片段中获取输入数据

如何使用导航架构组件从片段中获取结果?

从viewPager片段(Kotlin)中获取用户输入信息

在java中从用户获取整数数组输入