この記事は随時更新されます。
教材
The Rust Programming Language (https://doc.rust-jp.rs/book/second-edition/)
Rustの文法をPythonに置き換えて理解する
ここには正しいことしか書かない
関数定義
Rust:
fn main() { }
def main():
標準出力
Rust:
println!("Hello, world!");
print("Hello, world!")
インデント
共通: スペース4つ
パッケージマネージャ
Rust: Cargo
Python: pip
ライブラリのインポート
Rust:
use std::io;
extern crate rand;
FIXME: 現時点で詳細や違いはわかっていない
import os
変数定義
Rust:
let foo = 5;
foo = 5
文字列のフォーマット
Rust:
println!("{}", 変数名);
print("{}".format(変数名)) print(f"{変数名}")
数字にキャスト
Rust:
let mut guess = "10\n"; let guess: u32 = guess.trim().parse() .expect("Please type a number!");
guess = "10\n" guess = int(guess)
無限ループ
Rust:
loop {
}
while True:
ループからの脱出
共通: break
間違っていたこと
ここに間違えていたことをまとめる
Pythonにはない概念のメモ
マクロ
実行するときは
マクロ名!(引数)
関数を叩くのと同じ感じで実行出来る
関数のオーバーライドみたいな感じで自分で好きに出来る
コンパイル
rustc ファイル名
でコンパイル./ファイル名
で実行
行末
- セミコロンで終了
プロジェクト自動作成・管理
cargo new プロジェクト名 --bin
でプロジェクト作成cargo run
でコンパイルした全てのバイナリを実行cargo check
でコンパイルが出来るかをチェック(実行ファイルは作成しない)
変数
基本immutable
let mut
で定義するとmutable
変数の参照
&変数名
で参照出来る