はじめに
こんにちは!
皆さんは、Rustの学習で「手を動かす」実践的なステップに進みたいと思ったことはありませんか?
『The Rust Programming Language』(通称 The Book)を読み終えた次のステップとして最適な一冊が、オライリー・ジャパンから出版されている**「Rustの練習帳 副題:コマンドラインツールの作成を通してRustを学ぶ」**です。
この本は、catやgrepといったお馴染みのコマンドラインツールを自分の手で一つずつ実装していくことで、Rustの実践的なスキルを体系的に身につけることができる素晴らしい書籍です。
この記事では、この「Rustの練習帳」をさらに快適に学習するために、私がサンプルコードをリファインしたGitHubリポジトリを紹介します。
リポジトリはこちら: https://github.com/tnagata/command-line-rust
原著と翻訳への敬意
この素晴らしい書籍を生み出してくださった著者Ken Youens-Clark氏と、その知識を日本の私たちに届けてくださった翻訳者の中山 光樹氏に、心からの敬意と感謝を表します。
氏の書かれたコードはまさに珠玉であり、中山氏の翻訳はそれを少しも損なうことなく、更に新バージョンのClapについて説明した章を追記されています。私たちの学習の道を照らしてくれました。このリポジトリは、お二人の偉大な仕事の上に成り立っています。
なぜこのリポジトリを作ったのか
「Rustの練習帳」のサンプルコードは非常に質が高いのですが、Rustコンパイラのバージョンアップに伴い、いくつかのdeprecatedワーニングが発生するようになっていました。また、一部のテストがそのままではパスしない箇所がありました。
学習を進める上で、これらのワーニングやエラーは、特に初学者にとっては小さなつまずきの石になり得ます。そこで、学習者がよりスムーズに、本質的な部分に集中できるように、以下のような修正を加えました。
主な修正点
-
deprecatedワーニングの解消:
02_echorから14_lsrまでのテストコード(tests/cli.rs)で発生していたワーニングをすべて修正しました -
テストが通るように修正:
12_fortunerのmain.rs内のread_fortunes関数に手を加え、すべてのテストがpassするようにしました -
その他の改善:
エラー処理の改善など、細かいリファインをいくつか加えています
これにより、クリーンなコンパイル結果と、cargo testがすべて緑のokで埋まる安心感を得ながら、学習に没頭できるはずです。
このリポジトリが役立つ人
- 「Rustの練習帳」をこれから始める、または今まさに取り組んでいる方
- 『The Rust Programming Language』を読み終え、次に何をしようか探している方
- Rustで実践的なアプリケーションを作る感覚を掴みたい方
- コマンドラインツールの仕組みに興味がある方
使い方
使い方は簡単です。
- お使いの環境にRustのツールチェインをインストールしてください
- 私のリポジトリを
git cloneします - 各章のディレクトリに移動し、
cargo runやcargo testを試してみてください
# リポジトリをクローン
$ git clone https://github.com/tnagata/command-line-rust.git
$ cd command-line-rust
# 例えば 03_catr を試す場合
$ cd 03_catr
使用例.mdを読んで動かしてください
解説byRaptor_mini.mdで実装のポイントやRustのテクニックを学べます
詳細な環境設定については、ぜひ書籍本体をご参照ください。
おわりに
このリポジトリが、皆さんのRust学習の一助となれば、これほど嬉しいことはありません。
もしよろしければ、GitHubリポジトリにスター(⭐)をいただけると、今後の励みになります!
ぜひ、素晴らしい「Rustの練習帳」を手に取って、このリポジトリと共に楽しいRustライフをお送りください!