2021-09-01から1ヶ月間の記事一覧
時計をアプリを作成する 思い付きで時計アプリを作成しようと思い立ったのでその際に調べたことを書いていく。 今回のdependencies 今回のライブラリクレートこちら [dependencies] termion = "*" chrono = "0.4" 一つ目はtermionというライブラリクレート。…
ライフタイム fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { 引数と返り値ともに同じライフタイムを持たせたい場合は寿樹のように書く。 これはresultをかっこの前に宣言してるのでライフタイムの影響でエラーになる。 fn smp_main2() { let string1…
HashMap let text = "hello world wonderful world"; let mut map = HashMap::new(); for word in text.split_whitespace() { let count = map.entry(word).or_insert(0); *count += 1; } これはtextに記載されている文字列から空白を削除して、単語を数える…
match 矢印の左に記載した条件に一致していたら、右側に記載のあるものを呼び出す。 let mut count = 0; match coin { // {:?}州のクォーターコイン Coin::Quarter(state) => println!("State quarter from {:?}!", state), _ => count += 1, } if-else文で…
学んだ細かいこと タプルをで引数を渡す場合は(タプル名: (型, 型))みたくするといい感じ。 fn area(dimensions: (u32, u32)) -> u32 { dimensions.0 * dimensions.1 } 渡すときはタプルを使って渡してあげればよい。 let a = (30, 50); let b = area(a); 構…
学んだ細かいこと タプルをで引数を渡す場合は(タプル名: (型, 型))みたくするといい感じ。 fn area(dimensions: (u32, u32)) -> u32 { dimensions.0 * dimensions.1 } 渡すときはタプルを使って渡してあげればよい。 let a = (30, 50); let b = area(a); 構…
所有権 Rustを学んでるときにかなり難しかった。 let s1 = String::from("hello"); let s2 = s1; この文法でもエラーは起きなかった。 だがこの文法にしても正常に実行できる。 let s1 = String::from("hello"); let s2 = s1.clone(); これはclone関数を呼び…
Rustを触ってみた どうも最近AmazonがRustのコア開発者をたくさん雇用してるようなので、もしかしたら次に来る言語はRsutなのではないかと思い勉強してみることにした。 基本的な文法から勉強して色々なツールが作れれば楽しいなと思いながらこのブログをま…