zoukankan      html  css  js  c++  java
  • Rust-lang(hello world 续)

    loop

    上面的例子只能猜测一次,然后程序就停掉了,现在我们想不停的重复猜测,这里就用到循环了,当我们猜测正确的时候停止循环!

    fn main() {
        println!("Hello, world!");
    
        let secret_number = rand::thread_rng().gen_range(1,101);
    
        println!("Please gusses secret number  !");
    
        loop {
            let mut number = String::new();
    
            io::stdin().read_line(&mut number).expect("Failed to read_line");
    
            let number : u32 = number.trim().parse().expect("Please type a number");
    
            println!("Hello,your number is {}", number);
    
            println!("The secret number is: {}", secret_number);
    
            match number.cmp(&secret_number) {
               Ordering::Less => println!("too small!"),
               Ordering::Greater => println!("too big!"),
               Ordering::Equal => {
                println!("You win!");
                break;
               }
            }
        }
    
    }
    

    问题,又来了,当我们不小心输入错误,程序panic了,但是我们想重新输入,怎么办?

    fn main() {
        println!("Guess the number!");
    
        let secret_number = rand::thread_rng().gen_range(1, 101);
    
        println!("The secret number is: {}", secret_number);
    
        loop {
            println!("Please input your guess.");
    
            let mut guess = String::new();
    
            io::stdin().read_line(&mut guess)
                .expect("failed to read line");
    
            let guess: u32 = match guess.trim().parse() {
                Ok(num) => num,
                Err(_) => continue,
            };
    
            println!("You guessed: {}", guess);
    
            match guess.cmp(&secret_number) {
                Ordering::Less    => println!("Too small!"),
                Ordering::Greater => println!("Too big!"),
                Ordering::Equal   => {
                    println!("You win!");
                    break;
                }
            }
        }
    }
    
    用放荡不羁的心态过随遇而安的生活
  • 相关阅读:
    JavaScript 简介
    HTML 标签列表
    HTML5 是什么
    初识HTML5
    Conda 环境增删改查导出导入
    Windows 下安装 CGAL 并验证安装
    3D 点云数据集整理分析
    内网穿透
    SSH 免密登录
    串口、COM口、TTL、RS-232、RS-485区别详解
  • 原文地址:https://www.cnblogs.com/re-myself/p/5532476.html
Copyright © 2011-2022 走看看