🚴

Rustを今更ながら初めてみる

2023/01/18に公開

🚲 Rustとの出会い

ぶっちゃけ言うとネットニュースとかで人気な言語云々の記事があり、それで手を出してみるかぐらいの気持ちでやっています
あとはChromiumがRustサポートなど、多分これから使う分野が増えそうなので

結構最近作られた言語らしく、元としてはC/C++に近い
公式など眺めてみるとかなり手厚いサポートがあるため、プログラミング初学者でも学びやすいんじゃないかなと思う
ほとんどのドキュメントが日本語訳されてますし

この記事自体はある程度の知識ある人向けだと思いますので、初心者の方はこちらの公式ドキュメントを用語集と共に読むのが良いかと

🍀 開発環境を整える

自分の開発環境はこんな感じです

  • Macbook Pro 2020 (Intel)
    • macOS Ventura 13.1
    • Fish Shell

WindowsやLinux、Apple Silicon系の方は公式のインストール手順参考に、そうでなくても参考に
シェルに関しては弄ってるので詳細は避けますが、Unix系のシェルなら大体動くと思うのでそんな気にしなくてもいいと思う

Rustupを入れる

Rustupは標準推奨のコマンドラインツールです
オフライン環境や宗教上の理由などでない限りはこっちを使ったほうがいいです

公式のコマンドをターミナルにコピペ実行

$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

なんかダーと出てきますが、環境変数の設定や本体の場所のフルパスなど教えてくれているだけです
よほど特殊な環境でない限りは環境変数の設定は必要でないのでそのままEnter

実行完了後はシェルを再起動して実際に入ってるか確認

$ which rustc
$ rustc --version

これら実行して結果が返ってくるならOK
Rustの環境構築は完了です
下のコマンドでバージョンの日付が最近のものか確認しておくとベスト

ちなみに

rustup doc

でオフラインドキュメントが読めるので詰まった時にはぜひ参考に(なお英語)

🌐 Hello, World!

プログラミング言語伝統のアレです
テキストエディタはVimでもNanoでもEmacsでもIDEでも好きなのを使っても結構です
自分はVSCode使ってます

整理整頓は大事なので自分はプロジェクトフォルダ作ってそこに入れます

$ mkdir -p dev/rust && cd dev/rust
$ mkdir hello_world && cd hello_world

main.rsというファイルを作ってそこに書き込みます

main.rs
fn main() {
	println!("Hello, World!");
}

printlnの後の!に注意(一敗)
出来上がったら、実行はターミナルから

$ rustc main.rs
$ ./main

これで標準出力にHello, world!が吐き出されます
C/C++やってた人ならわかると思いますが、この時の出力されたmainファイルを他の環境に移しても実行可能です
AOT言語の利点ですね

🗡 プログラムの解剖

サクッと行くと、fn main(){}がエントリポイントになる場所で、println!マクロの実行
関数じゃなくてマクロの実行です
マクロと関数では呼び方が違うそうで、!の有無で区別をつけます
実際に!を外すと、エラーが出ます

とりあえずハロワは組めたのでここまで

Discussion