やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

2020-08-01から1ヶ月間の記事一覧

Rustのアクセス修飾子(pub)

pubを付与すると公開(public)される。pubがなければ非公開(private)。

Rustのモジュール(mod)

モジュールとは、関数、列挙、構造体などの定義をグルーピングする単位、だと思う。

Rustのcargoでライブラリ&テスト(単体、結合)

サクッとできてしまう。

Rustのプロジェクト構造

用語が多いので一旦まとめる。

RustのIfLet(matchの糖衣構文)

短く書ける。

Rustの列挙型に独自表示を実装する(E0277 対策 std::fmt::Display 実装)

#[derive(Debug)]と{:?}で楽していたところを自前で実装してみる。

NULL参照は10億ドルの失敗だった

NULLのせいで数々のバグが生まれ膨大な損失を被った、という話をRust学習中にはじめて知った。

RustでNULLを扱う(Option, Some, None)

他言語でいうNULLを使いたいときはこれ。

Rustのmatch(制御フロー演算子)

C/C++にあるswitch文の上位互換みたいなやつ。

Rustの列挙型(enum)

C/C++/C#などと比べてパワフル。

Rustの構造体(メソッド)

クラスっぽい。

Rustの構造体(プログラム例)

お題:幅と高さから面積を求めるプログラムを書け。

Rustの構造体(定義とインスタンス化)

C/C++でおなじみ。

Rustの所有権(スライス)

部分配列の参照。元メモリと整合性がとれる。

Rustの所有権(関数)

今回はたぶんメッチャ大事な回。

Rustの所有権(ムーブ)

あるヒープ領域を参照できるポインタは必ずひとつだけ。ヒープ変数を代入すればその所有権はコピー先へ移る。

Rustでくりかえし文(for)

イテレート。for in文。なんとカウンタ式のfor文は使えない。

Rustでくりかえし文(while)

条件式の結果が真のとき繰り返す。

Rustのくりかえし文(loop)

無限ループ文。

Rustのif式

C言語などとほぼ同じだが、式を返せるのが大きな違いか。(三項演算子も兼ねる)

Rustの関数

文だけでなく式で終わることもできるのが最大のポイントか。

Rustのデータ型(配列)

固定長。

Rustのデータ型(タプル)

タプルは異なる型を複数もてる複合型。

Rustのデータ型(文字)

char型。

Rustのデータ型(論理)

true, false。

Rustのデータ型(数値)

たとえばinteger型はi32と書く。

Rustの定数(const)

シャドーイングできるのか? など試してみた。

イミュータブルについて(副作用)

今までのプログラミング言語には無かったので。

Rustのシャドーイングについて

今まで書いてきたプログラミング言語にはない概念だったので。

Rustの変数(再代入、再宣言(シャドーイング))

再代入だけでなく再宣言もできる。ややこしいのでまとめる。