コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

ラストツアー

終焉へと……

はい、こんにちは。世界終焉を望むことで有名な僕です。今日も社会の混乱、経済の破綻、文明の崩壊、人類の滅亡を願っていきましょう。死は救済なのです。祈り続ければ願いは届きます。破壊こそ正義!世界に混沌あれ!


というわけで Tour of rust なんてのがあるのを知ったので触ってみることにします。冒頭の文はいつもの発作のようなもので気にしないでください。

コレ
tourofrust.com

Rust ツアーへようこそ。 これはプログラミング言語 Rust の機能を段階的にガイドすることを目的としています。 Rust は学習曲線が急な言語だと見なされることが多いですが、 複雑な事項に進む前に探ることがたくさんあると納得していただければと思います。

こんなん。投稿時の段階では全部が翻訳されているわけでなさそうなので、とりあえず一章だけ見てみることにします。

fn main() {
    println!("こんにちは、");
}

んでとりまprintlnの確認。いわゆるハローワールド。
std::println - Rust

時にRustってカニがマスコットだったのね。いきなりのハローワールドでこんなん(🦀)出されて何かと思ったら非公式マスコットらしい。

参考
Rustacean.net: Home of Ferris the Crab
へえこんなマスコットなのか……。


1. 変数
ということでちゃんと文法を見ていきます。

まずは変数をみていきます。

fn main() {
    // x の型を推論
    let x = 13;
    println!("{}", x);

    // x の型を指定
    let x: f64 = 3.14159;
    println!("{}", x);

    // 宣言の後で初期化(あまり使われません)
    let x;
    x = 0;
    println!("{}", x);
}

こんなんなるそうです。Rustってスネークケース推奨だったんですね。僕はいい加減に覚えていたから全然知らなかった。

変数の扱いは可変値は mut キーワードで表すそうで……。

fn main() {
    let mut x = 42;
    println!("{}", x);
    x = 13;
    println!("{}", x);
}

2. 基本的な型

そのままコードをべたべた貼り付けてもただの読みました文になってしまうので公式ドキュメントの方を貼っておきます。型はこの辺が参考になります。
std - Rust

fn main() {
    let x = 12; // デフォルトでは i32
    let b = 4.3; // デフォルトでは f64
}

ただデフォルトの型の方は参考になったのでメモっておく。明示しないとこんなんなるらしい。なお as キーワードで数値型を簡単に変換できるとのこと(a as u32)。


3. 定数

定数は型を明示しないとダメらしい。そして大文字のスネークケースを使うとのことです。


4. 配列

fn main() {
// 配列は [T;N]
    let nums: [i32; 3] = [1, 2, 3];
    println!("{:?}", nums);    // [1, 2, 3]
    println!("{}", nums[1]);  // 2
}

配列はこうなるとのこと。


5. 関数

// 例
fn 関数名(変数_1: T, 変数_2: T) -> T {
    return 変数_1 + 変数_2;
}

// 戻り値が複数の場合
fn 関数名(変数_1: T, 変数_2: T) -> (T, T) {
    return (変数_1, 変数_2);
}

// 空の戻り値
fn 関数名() -> () {
    return ();
}

// 戻り値は () と推論
fn 関数名() {
}

関数のお作法は大体こんなんっぽいです。返り値の

とりあえずの感想

いままでいい加減にやっていたのでちゃんと基本的なことについての仕様をみるいいきっかけになってよかった。まあちゃんとドキュメントみればこれみる必要は全くないわけなんですがw。書く機会ないからねー…………。