exit('IN');

本を読んで得た学びとか

Rustのミニチュートリアルをやる(非公式マスコットの🦀を出す)

www.rust-lang.org

こちらのめちゃくちゃ短いチュートリアルをやってみます😺

プロジェクトの作成

cargo new hello-worldでプロジェクトを作成。

directory

実行

cargo runで実行。

コンパイルされて、Hello, world!が出力されました。

compiled

依存関係の追加

Cargo.tomlに依存関係を追加します。

[dependencies]
ferris-says = "0.3.1"
cargo build
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.01s

🦀を出す

use ferris_says::say;
use std::io::{stdout, BufWriter};

fn main() {
    // 標準出力を取得する
    let stdout = stdout();
    // 表示するメッセージを作成する
    let message = String::from("Hello fellow Rustaceans!");
    // メッセージの文字数を取得する
    let width = message.chars().count();

    // 標準出力をロックして、BufWriterでラップする
    // ロック: 他のスレッドからアクセスできないようにする
    // BufWriter: バッファリングして、データを効率的に扱えるようにする
    let mut writer = BufWriter::new(stdout.lock());
    say(&message, width, &mut writer).unwrap();
}

cargo runで実行する

< Hello fellow Rustaceans! >
 --------------------------
        \
         \
            _~^~^~_
        \) /  o o  \ (/
          '_   -   _'
          / '-----' \