【Rust】チュートリアルをやって見た
こんにちは、しきゆらです。
今回はタイトル通りRustという言語のチュートリアルをやってみたのでその記録として残しておきます。
Rustさんは、FirefoxでおなじみMozilla製のプログラミング言語です。
コンパイル言語であり、速度はそれなり、メモリリークなどを極力排除することができるような言語だそうな。
詳しいことは、ググっていただけるとありがたいです。
それでは、見ていきます。
内容に関しては、以下のものをそのまま実行していくだけです。
念のため
今回はMac上で行なっていきます。
Mac Sierra 10.12.6
Rustのインストール
上記サイトでは、以下のコマンドでインストールせよとのことです。
$ curl https://sh.rustup.rs -sSf | sh
しかし、私はすでにhomebrewによって環境ができていたのでそのまま行なっています。
バージョンは以下のとおり
$ rustc -V rustc 1.20.0
Hello World!
まずは、それ用の場所を作ります。
$ mkdir hello $ cd hello
そこに以下の内容でプログラムを書きます。
fn main(){ println!("Hello World"); }
以下のコマンドでコンパイル、実行していきます。
$ rustc main.rs $ ./main Hello World!
Hello Worldはこれにて終わり。
次からは、Rustさんのビルドシステムに触れていくようです。
Hello Cargo!
依存関係や、複数に分けたプログラムをまとめるときなど、まとめて面倒を見てくれるようです。
Cargoを使うには、それぞれを所定の場所に所定のものを置く必要があります。
$ mkdir src $ mv main.rc src $ rm main
設定ファイルの作成
helloディレクトリ直下に、Cargo.tomlを作ります。
[package] name = "hello_world" version = "0.0.1" authors = [ "あなたの名前 <you@example.com>" ]
ビルドに関しては、以下のコマンド一発です。
$ cargo build Compiling hello_world v0.1.0 (file:///path/to/hello_world) Finished dev [unoptimized + debuginfo] target(s) in 0.91 secs $ ./target/debug/hello Hello World!
そして、この面倒なビルドと実行は、以下のコマンド一つで実行できます。
$ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs Running `target/debug/hello_world` Hello, world!
Rust製のプログラムを実行したい時は、例えばgitからcloneしてきて、
上記コマンドを実行するだけで終わり。
面倒なことは全てCargoさんが担ってくれるようです。
$ git clone someurl.com/foo $ cd foo $ cargo build
Cargoさんの力
なお、Cargoに関するこれまでのあれこれは、コマンド一発で全て終わってしまいます。
新しくプロジェクトを作る時は、以下のコマンドで最低限の土台はできてしまいます。
$ cargo new プロジェクト名 --bin
ライブラリを作る場合は「–lib」、実行ファイルを作りたい場合は「–bin」だそうな。
これだけで、設定ファイル、srcディレクトリ、main.rsファイルまでできてしまいます。
必要あれば、設定ファイルを追記・修正するだけ。
あとはプログラムを書くだけです。
なお、newした時のsrc/main.rsは以下のような内容になっています。
fn main() { println!("Hello, world!"); }
この記事でやってきたことは、全て「cargo new プロジェクト名 –bin 」というコマンド一つで終わりなのです。
とほほ。
おわり
さて、今回はRustの日本語チュートリアルをやりました。
なんとなく触るには、ちょっとこれまでとは別物な感じがしますが、面白そうなのでいいでしょう。
Elixirさんも、本を買い途中で放置しているというのに・・・
※Amazonの購入履歴を見ると、買ったのはちょうど1年前のようです。
長続きしないと思いますが、またやっていく予定です。
今回はここまで。
おわり