シェルスクリプトマガジン

特集1 はじめてのRust(Vol.64記載)

著者 :河野 達也

最近、Rustというプログラミング言語の名前をよく見かけるようになりました。米Amazon Web Services社、米Dropbox社、米Facebook社、米Mozilla財団などは、Rustを使ってミッションクリティカルなソフトウエアを開発しています。Rust とはどんな言語でしょうか。シンプルなプログラムの開発を通してRustの世界に飛び込みましょう。

シェルスクリプトマガジン Vol.64は以下のリンク先でご購入できます。

Part1

図1 Rust のプログラムの例

図12 エラーになるRustのプログラムの例

図21 sqrt()関数の定義コード

図23 let文とif式を追加したsqrt()関数の定義コード

図24 loop式を追加したsqrt()関数の定義コード

図25 戻り値の記述を追加したsqrt()関数の定義コード

図26 mut修飾子を追加したsqrt()関数の定義コード

図27 main()関数のコード

Part2

図2 Cargo.tomlファイルに追加する設定

図3 コマンドライン引数を処理するプログラム

図5 Option型の定義(抜粋)

図6 Result型の定義(抜粋)

図7 match式とif let式の使用例

■match式の使用例

■if let式の使用例

図8 コマンドライン引数を必須にする変更

図9 std::fmtモジュールのDebugトレイトの定義(抜粋)

図10 analyze()関数の定義コードを追加

図11 main()関数の定義コードを変更

図12 analyze()関数の定義コードを変更

図15 構造体Tripの定義コードを追加

図16 Tripをデシリアライズするための書き換え(その1)

図17 analyze()関数の定義コードを変更

図19 RecordCounts構造体の定義を追加

図20 RecordCountsのデフォルト値をつくる関数を定義

図21 analyze()関数の定義部分のrec_counts変数が使われている行を変更

図22 日時を変換するparse_datetime()関数の定義コード

図23 分析レコードを絞り込むための関数定義コードを追加(その1)

図24 分析レコードを絞り込むための関数定義コードを追加(その2)

図25 分析レコードを絞り込むためにanalyze()関数の定義コードを変更

図27 統計的な処理をするためのコード

図28 所要時間を登録するためのメソッドを追加(その1)

図29 所要時間を登録するためのメソッドを追加(その2)

図30 統計処理をするためにanalyze()関数の定義コードを変更

図32 DisplayStats構造体の定義コード

図33 DisplayStats構造体の定義コード

図34 DisplayStats型にnew()関連関数を定義するコード

図35 analyze()関数の定義コードを書き換える