やってみる

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

Rust

Rustのイテレータ

要素を順番に返すヤツ。map, zip, filter, skipなどのコレクション操作もできる。

Rustのクロージャ

無名関数。

RustでStdErr出力

StdOutでなく。

Rustで環境変数を取得する

Rustで環境変数を取得する std::env::var()で。

Rustでテスト駆動開発

こんな感じでやる。

Rustでリファクタリング(モジュール性とエラー処理の向上)

本番に近い考え方。

Rustのファイル読込

基本のひとつ。

Rustでコマンドライン引数を受け取る

コマンドラインツールを作るために。

Rustのテスト体系化

単体テストと結合テスト。

Rustのテスト実行

cargo testのコマンド引数。

Rustのテストコードを書く

assert_eq!マクロや#[should_panic]注釈など。

Rustのライフタイム6(ジェネリクス、トレイト境界とともに)

非常に見づらいコードになった。

Rustの静的ライフタイム5('static)

生存期間はプログラム終了まで。(他言語でいうグローバル変数)

Rustのライフタイム4(impl定義)

ライフタイム省略規則のときにサラッと流したので改めて。

Rustのライフタイム3(ライフタイム省略)

引数がひとつであり、その参照を返すとき、引数と戻り値のライフタイム注釈は省略できる。

Rustのライフタイム2(構造体の定義)

構造体のフィールドに参照をもたせる。

Rustのライフタイム1

Rustにおける難関のひとつらしい。

Rustのトレイト

C#やJavaでいうインタフェースに類似した機能。

Rustのジェネリクス

特定の型ではなく全ての型を示す方法。

Rustのエラー処理

panic!(), Result(Ok<T>,Err<E>)の2種類。</e></t>

Rustのコレクション(練習問題)

Vec, String, HashMap。

RustのコレクションHashMap型

使い方がややこしい。C#のほうが直感的。

RustのコレクションString型

文字列型はなんと6種類もある。

RustのコレクションVec型

Vector。可変配列。

Rustのインポートまとめ(Rust2018)

複雑すぎて理解不能なので簡単にまとめてみた。

Rustのmod参照方法(`mod 子モジュール名;`, `use 要素名;`, `extern crate クレート名;`, `super`)

この辺、細かい説明がなくてよくわからんかった。ので、使ってみた。

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

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

Rustのモジュール(mod)

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

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

サクッとできてしまう。

Rustのプロジェクト構造

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