ご安全に!角田です。 Mozillaが開発する Rust が5月16日に晴れて1.0.0をリリースしていたことで周囲でちょっと話題になっていたので、手を出してみました。
Rustってどうなんだろう
— 人マン (@razon) 2015年5月20日
@razon Goが選べないならアリだと思った
— 殺意駆動開発(KillDrivDev) (@toru_inoue) 2015年5月20日
@toru_inoue あーそっちらへんと競合する感じかー
— 人マン (@razon) 2015年5月20日
@razon ただ、なんでも自分で作ってやろうという異常な心意気があってGUI作っちゃいそうなところと、だいたいどこでも動くようになりそうな基礎部分と、あと動作速度の異常さから、新境地を開拓しそうではある。
— 殺意駆動開発(KillDrivDev) (@toru_inoue) 2015年5月20日
なるほどなるほど。ちょっと公式サイトとかWikipediaを見てみた感じ、ML系とかLispっぽい部分もあるっぽくて、結構好みです。
とりあえずインストール
ダウンロードページ を見てみると、流石に1.0.0の正式リリースだけあってLinux/Mac/Windowsあたりはバイナリが存在します。 Linux/Macではワンライナーでインストールドーン!!と行けます。
$ curl -sSf https://static.rust-lang.org/rustup.sh | sh
まずはHello World
まあこんなもんでしょうか。最近の言語にしては珍しく末尾にセミコロンがいるタイプみたいです。 ファイル名の命名規則は「スネークケースだけどアンダースコア入れなくてもよくね?」だそうです。ワイルド。
コンパイル
$ rustc main.rs
実行
$ ./main Hello, world!
Cargoでプロジェクト管理
Maven とか Gradle とか sbt とか Leiningen とか、まあその辺のツールに相当するものです。 Rustをインストールするとバンドルされています。
プロジェクトの新規作成
$ cargo new hello_world --bin
--binオプションは、アプリ作る用のオプションで、mainメソッドのあるソースが生成されます。 省略するとライブラリ用のプロジェクトになります。
--binあり
│ Cargo.toml
│
└─src
main.rs
--binなし
│ Cargo.toml
│
└─src
lib.rs
因みにここでは省略していますが、ついでに.gitディレクトリと.gitignoreまで作られます。なんだか色々と強気な感じがします。
Cargo.tomlはプロジェクトの設定ファイルです。 こんな感じのファイルが出来上がります。
authorsのところはgitで設定されていればそこから情報を引っ張ってくるみたいです。
ビルドと実行
ビルド
$ cargo build
Compiling hello_world v0.1.0 (file:///home/razon/workspace/hello_world)
実行 ```
$ cargo run
Running `target/debug/hello_world`
Hello, world!
もちろん、ビルドせずにrunしても、依存するbuildタスクを実行後にrunしてくれます。
次回は
開発環境について見てみようかと思います。 それではまた。