Rust(ラスト)
Rustは、効率的で信頼性の高いソフトウェアを誰でも作成できるように設計されたプログラミング言語です。
マルチパラダイムをサポートしており、手続き型プログラミング、オブジェクト指向プログラミング、関数型プログラミングなど、さまざまな実装手法を活用できます。
コンパイル基盤にはLLVMを使用しており、強力な型システムとリソース管理機構により、メモリ安全性が保証されています。
目次
- 言語の仕様や文法について
- 環境構築
- 実際に環境を構築する
- hello world
- 問題
Rustの資料
-
The Rust Programming Language 日本語版
Rustの教科書。これを読めばまともなコードが書ける。 -
Rust Language Cheat Sheet
Rustの文法のチートシート。
言語の仕様や文法について
Rustは、メモリの安全性を保証しながら、低レベルな制御も可能にするプログラミング言語である。その核となるのが「所有権」と「借用」の仕組みであり、コンパイラがコード内の参照やライフタイムを厳密にチェックする。この仕組み(borrow checker)のおかげで、二重解放やダングリングポインタといったメモリバグをコンパイル時に未然に防ぐことができる。
この仕組みにより、Rustは高い安全性を提供し、特にマルチスレッド環境においてもデータ競合やメモリ破壊のリスクを大幅に低減している。さらに、プログラム全体のメモリ管理をコンパイラがサポートしてくれるため、大規模な開発プロジェクトでも安定した運用が可能である。
しかし、この安全性を実現するための所有権やライフタイムの概念は一筋縄ではいかず、習得には一定の学習コストが伴う。また、コンパイラがすべてを管理できるわけではなく、場合によっては低レベルな制御が必要になる場面もある。
fn main() {
let a; //定数に変数を代入
let b = 5; //定数に変数を代入
let mut = 1; //可変
}
fn main() {
// 足し算
let sum = 10 + 10; //結果は20
// 引き算
let difference = 9.5 - 4.4; //結果は5.1
// 掛け算
let product = 4 * 10; //結果は40
// 割り算
let quotient = 50 / 25; //結果は2
let floored = 2 / 3; // 結果は0
// 余り
let remainder = 213 % 2; //あまり1
}
fn main() {
let str: String = "SuPerNova".to_string();
println!("{}", str.to_uppercase()); // SUPERNOVA
println!("{}", str.to_lowercase()); // supernova
}
fn main() {
let mut hoge = String::new();
std::io::stdin().read_line(&mut hoge).ok();
let answer = hoge.trim().to_string();
print!("{}",answer);
}
環境構築
Rustをインストールする。
この公式サイトからダウンロード。
もし一度ダウンロードしている場合はアップデートをする。
$ rustup update stable
VSCodeの拡張機能の紹介
下記の拡張機能をインストール
rust-analyzer
VSCodeにRustのサポート
CodeLLDB
高機能デバッガー
実際に環境を構築する
cd ~/
cargo new rust_hello_world
# Created binary (application) `rust_hello_world` package
cd rust_hello_world
code .
上記のコードをVSCodeのコンソールに打ち込みましょう(コピーペーストでも構いません)。
C:\Users\user\rust_hello_world
上手くできていればこのディレクトリにファイルが存在しています。
問題1: Hello,Worldと出力するプログラム
コンソール上にHello,Worldと出力してください。
なし
Hello,World
問題2: 文字列内の大文字と小文字を入れ替えるプログラム
与えられた文字列に対して、大文字を小文字に、小文字を大文字に変換して出力するプログラムを作成してください。
RustProgramming
rUSTpROGRAMMING
補足:
差の絶対値を計算して比較します。
複数候補がある場合は小さい値を選択します。
問題3: 数字の桁和を計算する関数を作成するプログラム
標準入力から1つの整数を受け取り、その整数の各桁の和を求める関数を実装してください。関数を作成し、桁の合計を返すようにしてください。
12345
出力例1:
合計:15
987
合計:24
終わりに
少しだけラストを触るための情報を載せた。Rust入門の参考になれば幸いだ。