Rustのメモ。
Rustは、所有権という概念に特徴があるプログラミング言語。
コンパイル(ビルド)するとOSネイティブの実行ファイル(Windowsならexeファイル)が生成される。
生ポインターを扱ったり、C言語の関数として呼ばれたり呼び出したりといった、低レベルな操作をすることも出来る。
?
」が付いているのをよく見かけるが、Resultの使い方に関係している。println!()
やvec![]
のように「!
」が付いている関数呼び出しっぽいものは、マクロの使用(展開)を意味している。Rustではアプリケーションやライブラリーのことをクレート(crate)と呼ぶ。
(Javaで言うと、Mavenのアーティファクトやjarファイルといった単位)
他のライブラリー(クレート)を使用する場合、そのクレートの名前をCargoの設定ファイルのdependnciesに記述することになる。
「crate」を訳すと「木箱」のことらしい。
「アプリケーション」や「ライブラリー」と言うと、人によって何を指すかが曖昧だったりするので、わざわざクレートという言葉を使っているのだと思う。
クレート(Rustのアプリケーションやライブラリー)を開発する為のプロジェクトの雛形はCargoというビルドシステムで作成できる。
(「プロジェクト」は自分が他のプログラミング言語でも使っている言い方で、Rustでは「クレート」と言うべきかも)
Rustのソースファイルは拡張子rsで、「プロジェクト名/src」ディレクトリーの下に置く。
rsファイルのファイル名はモジュールと密接にかかわっている。[2024-09-20]
なので、ファイル名(モジュール名)の命名ルールに従ってsnake_caseにすべき。
Rust(Cargo)で作成できるクレートは以下の2種類がある。
main.rsやlib.rsはコンパイル(ビルド)の起点となるファイルなので、ファイル名はこのままにしておくべき。
(エントリーポイントであるmain.rsやlib.rsのファイル名を変えたり別の場所に置いたりすることは、Cargo.tomlに特別な設定を記述すれば出来るらしい)
srcの下の各ディレクトリーに置くmod.rsという名前のソースファイルには特別な役割がある。→モジュール
|
|||