プログラミング言語Rustはじめてみる


このエントリーをはてなブックマークに追加

C++を今更始めたくはないが、C++怖いがそれに置き換わる(可能性がある?)というRustが気になって

ぼちぼちはじめてみることに

環境は

  • MacOS Sierra 10.12.3



installはshellで


2017年4月現在

homebrewなどでも入れるが、公式を調べると「curlを使った後shellで入れてね」ってでてくる

これは、rustupを使ってインストールと管理しましょうってやつみたいらしい

まぁコマンド一発なのでかなり簡単に導入できる

とりあえずそれに従う、現時点で最新版は3月16日に出たRust 1.16.0 らしい

プログラミング言語 Rust

どうやら日本語サイトもかなりサポートしてくれてるっぽい


curlコマンドを実行すると、画面に指示が出て来るのでそれに従う

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ curl https://sh.rustup.rs -sSf | sh
info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust programming
language, and its package manager, Cargo.
It will add the cargo, rustc, rustup and other commands to Cargo's bin
directory, located at:
/Users/username/.cargo/bin
This path will then be added to your PATH environment variable by modifying the
profile file located at:
/Users/username/.profile
You can uninstall at any time with rustup self uninstall and these changes will
be reverted.
Current installation options:
default host triple: x86_64-apple-darwin
default toolchain: stable
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation


  • Rustのpackage managerはCargoというらしい
    • /Users/username/.cargo/bin
  • 自分のPATH環境にprofileファイルが置かれる
    • /Users/username/.profile
  • uninstallはrustupコマンドで行う
    • $ rustup self uninstall


で、

  1. install processを開始する(デフォルト、エンターしたらこれになる)
  2. Customインストール
  3. installのcancel

なのでそのままエンターキー(リターンキー)を押すか 1 Enter すればインストールが始まる

インストールは結構早く終わった


以下のコマンドをして動いたら成功

$ source のところは自分の.cargoがあるディレクトリを指定すること

たぶんインストールしたらコンソールに出てくるのでそれに従えば良い

1
2
3
4
5
$ source /Users/username/.cargo/env
$ rustup --version
rustup 1.0.0 (17b6d21 2016-12-15)
$ rustc --version
rustc 1.16.0 (30cf806ef 2017-03-10)


ただし、この状態では、ターミナルを再起動したらpathが反映されないみたいで毎回source /Users/username/.cargo/env

ので.bash_profileに記述してPATHを追加する

.bash_profile
1
export PATH="$HOME/.cargo/bin:$PATH"

これでターミナルを再起動してもcargoのディレクトリがPATHに追加されるのでいつでもコマンドが使える



とりあえずはじめて見る


公式のガイドブックが日本語もあってかなり参考になるのではじめて見る

英語

Getting Started

日本語

プログラミング言語Rust

ちなみにエディタに関しては

ということみたい、まぁ最初はじめて見るならプラグイン無しでsublime textでもAtomでもなんでもいいと思う

一応入れ方などはぐぐれば出てくる

rustの開発環境構築メモ @ Windows & Sublime Text 3 - Qiita

Rustをはじめよう! Rustの環境構築 Atom & SublimeText - Qiita


自分はneovimを使ってるので、まずはsyntaxのために.dein.tomlに下記を追加した

1
2
3
[[plugins]] # rust syntax
repo = 'rust-lang/rust.vim'
on_ft = 'rust'



Hello Worldしてみる


以下のmain.rsファイルを適当なところに作る

main.rs
1
2
3
fn main() {
println!("Hello, world!");
}

簡単に説明すると

  • fn main() {} で引数返り値無しのmainという名前の関数を定義
  • println! のビックリマークがついてるやつはメタプログラミング機構のマクロの呼び出し
    • 実は関数の呼び出しではないので注意
    • もし関数の呼び出しなら println()のようにビックリマーク無しになる
    • ! を見たら普通の関数呼び出しではなくマクロの呼び出しという意味程度にまずは思っておく
  • 最後はセミコロンで終わる
    • Rustは式指向言語 というものらしくほとんどのものは文ではなく式になる
    • セミコロンは式が終わり、次の式が始まることを示す
    • なのでRustのコードのほとんどの行はセミコロンで終わる
  • Rustのコンパイルはrustcコマンドで行う

あとは下記コマンドで実行できる

1
2
3
$ rustc main.rs
$ ./main
Hello, world!



Cargoについてすこし


お次はCargoについて公式の説明より

Rust-lang はじめる

  • Rustのビルドシステムであり、パッケージマネージャである
  • プロジェクト管理にも使う
  • Haskellでいうところのstack, Scalaで言うところのsbtみたいなものだろう(たぶん)
  • 設定ファイルはtoml
    • Cargo.toml
    • 先頭のCが大文字であることに注意
  • buildして実行する
    • cargo build でビルドして
    • ./target/debug/hello_world で実行できる(hello_worldはCargo.tomlに記載した名前)
  • 一発でやるにはrunする
    • cargo run
  • リリースビルド
    • cargo build –release
    • 最適化をかけてプロジェクトをコンパイル可能
    • その分コンパイル時間は長くなる
  • cargo new someproject –bin
    • --binをつけると実行可能なアプリケーションを作れる
    • Cargo.tomlが自動で作られる。authorやメールアドレスはgitの設定を基に作られる


らしい

公式の説明のチュートリアルが充実しているのでそれを始めたらいいのではないかなあとは


このエントリーをはてなブックマークに追加