saba1024のブログ

どうでも良い思いついた事とかプログラミング関係のメモとか書いていきます。

rust

Rustでcatコマンドを実装

Rustでcatコマンドを実装しました。 ちゃんと標準入力からでも引数で指定されたファイルからでも読み込めます。 ミソになるのが、stdioでもFileでもBufReadというトレイトを実装しているので、そのトレイトの型を受け取って共通の処理が実現出来る点です。 u…

RustでFizzBuzz

fn fizz_buzz(n: i32) -> String { match (n % 3, n % 5) { (0, 0) => "FizzBuzz".to_string(), (0, _) => "Fizz".to_string(), (_, 0) => "Buzz".to_string(), (_, _) => n.to_string(), } } fn main() { let result = (1..101).map(|x| fizz_buzz(x)).coll…

Rustでクロージャを使ってカウンターを実装するサンプル

クロージャのお勉強用のお題としてよくある、「ある関数から、実行する度に値をインクリメントして返すクロージャを生成して返す」をRustで実装してみました。 RustのクロージャはちょっとApache Groovyなどと比べると癖が有って難しい印象です...(所有権と…

Rust 1.20の新機能 Associated constants(関連定数)

概要 最近Rustの勉強をしています。 今まで基本的にJava、Apache Groovy畑で生きてきたので新しい概念が多くかなり苦戦しています。 さて、8月31日にRust1.20がリリースされました。この新しいバージョンでAssociated constants(関連定数)という機能が追加さ…