2021-03-21から1日間の記事一覧

Rust入門 コマンドライン引数を取得して数値に変換する

from_str関数はu64型を返すのではなく、パースが成功したかどうかを表すResult型を返す。 成功した場合には、Ok(v)を返す。vが生成したu64型のデータ 失敗した場合には、Err(e)を返す。eはエラーの理由を説明するエラー値 Resultのexpectメソッドが値vを返す…

Rust入門 コマンドライン引数の取得

fn main() { let args_string: Vec<String> = std::env::args().skip(1).collect(); println!("{:?}", args_string); for a in args_string { println!("{},{}", a, a.len()); } } 実行結果 $ ./args a bc 123 ["a", "bc", "123"] a,1 bc,2 123,3</string>

Rust入門 ベクタ イテレータ fold

ベクタはサイズを変更できる配列である。vec!マクロで生成できる。 ベクタの各要素の合計を求めるプログラム fn main() { let mut v = vec![1,2,3,4,5]; println!("{:?}", v); println!("{}", v.iter().fold(0, |a, b| a + b)); v.push(6); println!("{:?}",…

Rust入門 エラトステネスのふるい

エラトステネスのふるいで、30より小さい素数を表示するプログラム 配列sieveに30個のtrueを入れて、jが素数でなければsieve[j]をfalseにする。 fn main() { let mut sieve = [true; 30]; sieve[0] = false; sieve[1] = false; for i in 2..6 { if sieve[i] …