はじめに
今回は、Rustを使い小さなプログラムを書いてみようということでテキストのHello worldを出力するまでやってみようかと思います。
なお、公式のドキュメントを基にしています。
Hello world
1.プロジェクトのディレクトリと「Hello_world」のディレクトリを作成します。
mkdir projects
cd projects
mkdir hello_world
cd hello_world
2.新しいソースファイルを作成します。
Rustでは、ファイルは常に.rs拡張子で終わります。
今回は、main.rsを作成します。
- main.rsを作成したら、下記のコードを書きます。
fn main() {
println!("Hello, world!");
}
- 次に、以下コマンドを入力してファイルをコンパイルします。
rustc main.rs
- コンパイルが終わったら、実行してみましょう。
❯ ./main
Hello, world!
これでHello, world!が見れたら成功です!
解説
ここからが本題です。w
上の「Hello、world!」で何が起こったのかを理解していきましょう!
fn main() {
}
-
- ここでは、Rustの関数を定義しています。
-
- なお、main関数は、すべてのRustプログラムで実行される最初のコードです。
-
- main関数は、パラメーターを持たず、何も返さないという名前の関数を宣言しています。
- パラメータがある場合、( )に入ります。
次にmain関数内の処理を見てきます。
println!("Hello, world!");
これは、テキストを画面に出力します。
ここで注意すべき4つの重要要素があります。
1.Rustは、タブではなく4つのスペースでインデントする
2.println!は、Rustマクロと呼ばれるものを呼び出すようです。
どうやら(!)が、通常の関数ではなくマクロを呼び出すことを意味するようです
3.”Hello, world!”という、文字列を引数としてprintln!に渡し、 この文字列が画面に表示されている。
4.行をセミコロン(;)で終了します。Rustコードのほとんどの行は、セミコロンで終わります。
次にコンパイルについて見ていきます。
-
- Rustプログラムを実行する前に、rustcコマンドを入力し、ソースファイルの名前を渡して、Rustコンパイラを使用してプログラムをコンパイルする必要があります。GCCっぽいですねw
- 正常にコンパイルされた後、Rustはバイナリ実行可能ファイルを出力します。
rustc main.rs
実行可能ファイルが生成されていることを確認する。
❯ tree .
.
├── main
└── main.rs
0 directories, 2 files
まとめ
今回は、Rustを使用しHello worldを出力してみました。
次回は、ビルドシステムおよびパッケージマネージャーのCargoを学んでいきます。