Rust を始めた
TweetRust 始めました。
とにかく JavaScript っぽい。馴染める。
カニの本も持っているのですが、それよりいい資料をみつけました。
なんと日本語訳をされている方がいます。非常にわかりやすいです。 https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/getting-started.html
他にも日本語資料が充実しています。大変素晴らしい翻訳で感動しました。 https://doc.rust-jp.rs/
ということでやっていきます。
インストール
curl https://sh.rustup.rs -sSf | sh
rustc --version # 正常に実行できる状態か確認
Intellij IDEA に Rust プラグインがあるのでこれをインストール。
プロジェクトを作るときに勝手に Cargo でプロジェクトを作ってくれる。楽。
実行
cargo run # build した上で実行してくれる
こんな感じで WebStorm みたいにすぐ実行することもできる。
数字当て
https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/guessing-game.html
Rust
// crate は npm っぽいやつ
// import rand みたいな意味
extern crate rand;
// import { Rng } from rand みたいなやつ
// それぞれ io, Rng という変数で使えるようにバラしている感じ
use std::io;
use rand::Rng; // Rng は型っぽい。正確にはトレイトという名前。
fn main() {
println!("Guess the number!");
// :: で属しているメソッド的なものを実行できるぽい
let secret_number = rand::thread_rng().gen_range(1, 101);
// {} に secret_number がガット入るっぽい
println!("The secret number is: {}", secret_number);
println!("Please input your guess.");
// mut と書くのはミューテイションできる変数を作るため
// String::new() でからの文字列を作る
let mut guess = String::new();
// stdin() でユーザー入力を受け取って
// read_line で中身を guess に mutation できる形で紐づけてるぽい
// .expect は read_line の返り値である Result 型の値には expect というメソッドが生えているらしい
io::stdin().read_line(&mut guess)
.expect("failed to read line");
println!("You guessed: {}", guess);
}