Rustマクロの薄い本
訳注: 本書はThe Little Book of Rust Macros(Lukas Wirth氏による改訂版)の非公式日本語訳です🦀🇯🇵
Note: 翻訳元はDaniel Keep氏による原著(2016年の中頃より更新停止)を引き継いだもので、mdBookを利用するように改変してあります。
本書のHTML版はこちらから読めます。リポジトリはこちらにあります。
中国語訳はこちら。
本書の目標は、Rustのマクロ(宣言的マクロ(Macros by Example
)と手続き的マクロ(WIP)の両方)に関するRustコミュニティの集合知を蒸留することです。
ですから、(プルリクエストという形での)内容の追加も(issueという形の)リクエストも大歓迎です。
もし不明な点があれば、気軽に質問してください。よくわからない記述があれば、わかりやすくしてほしい旨を恐れずissueにぶつけてください。
本書をできる限り最高の学習資料にするのが目標です。
この本の原著は、私がRust言語を学んでいた頃に宣言的マクロ (Macros by Example)スタイルのマクロについて理解する大いなる助けになりました。 残念なことに、原著は2016年4月を最後に更新が途絶えてしまいました。その一方で、Rust言語自体もマクロシステムも進化し続けています。 そんなわけで私は、原著をアップデートし、最新に保ち、さらには新たな発見を書き加えるという仕事を引き受けたのです。 Rustに入門する方々がマクロシステムという手こずりがちなRust言語の一機能について理解を深めようとするにあたり、本書が助けになれば幸いです。
本書は読者がRustの基本的な知識を持っていることを仮定して書かれています。マクロに関係ない言語機能や構成要素については説明しません。 マクロに関する事前知識は不要です。 The Book1 の7章までを読んで理解しておくのが必須事項です。とはいえ、大部分を読んでおくことをおすすめします。
訳注: 日本語版はこちら
謝辞
原著の著者であるDaniel Keep氏、および原著へのコントリビューターの皆様(こちらで確認できる)に深く感謝申し上げます。
ライセンス
本書は原著のライセンスを継承します。よって、本書の使用はCreative Commons Attribution-ShareAlike 4.0 International LicenseとMIT licenseの両方の下で許諾されます2。
訳注: 日本語版についても同様の扱いとします。詳しくは本プロジェクトのリポジトリのREADMEをご覧ください。