我的实现

新葡京娱乐场:抽签决定各自创作命题创作前要查阅大量资料据西藏唐卡画院院长、唐卡勉萨派国家级传承人罗布斯达介绍,十明学代表着藏族传统文化艺术的精华、高原文化历史的进程,包含声明学、量论学、工巧明、藏医学、内明学、星算学、修辞学、韵律学、词藻学、戏剧学等十明。

一个满足题意的实现

use std::io::{self, Write};
fn main() {
    print!("what is your name?");
    io::stdout().flush().unwrap();
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).expect(
        "Failed to read line",
    );
    println!("Hello, {}, nice to meet you!", input);
}

满足附加约束

use std::io::{self, Write};
fn main() {
    print!("what is your name?");
    io::stdout().flush().unwrap();
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).expect(
        "Failed to read line",
    );
    let foo = format!("Hello, {}, nice to meet you!", input);
    println!("{}", foo);
}

另一个满足约束的实现,不使用 format

use std::io::{self, Write};
fn main() {
    print!("what is your name?");
    io::stdout().flush().unwrap();
    let mut input = String::new();
    std::io::stdin().read_line(&mut input).expect(
        "Failed to read line",
    );
    let mut foo = "Hello, ".to_string() + &*input;
    foo = foo + ", nice to meet you!";
    println!("{}", foo);
}

学到了什么

Rust 中的输出使用 print 宏和 println 宏。而他们存在一种行缓冲的机制。当使用 println 这种机制并不表现,因为输出的内容会被自动的换行。而实用 print 则会发现如果不显示的刷新则不能得到满足题意的输出。

mut 关键字用于给标识符(变量)设置可变性。它们默认是不可变的。此外满足额外约束条件的程序在 Rust 中显得十分臃肿。