概要
- 2010年ごろに流行した「世界のナベアツ」のネタを Rust で再現する。
- 分岐の「match」や「if」、繰り返しの「for」を使えばできるはず。
- 以下の仕様を満たすようなプログラムを Rust で組んでみよう。
仕様
- 1 からカウントアップしていく。「1」「2」
- 3 の倍数のときアホになる。「3🤪」...「11」「12🤪」
- 数字に 3 が含まれるときもアホになる。「13🤪」
- 100 になったら「オモロー」と言って終わる。「100😲オモロー!」
プログラム例
- 処理ごとに関数に分割した。
- 記述は長いが、分かりやすい。
fn main() {
for i in 1..=99 {
ナベアツ処理(i);
}
オモロー();
}
fn ナベアツ処理(n: i32) {
match 三の倍数か(n) || 三を含むか(n) {
true => アホになる(n),
false => 普通に言う(n)
};
}
fn 三の倍数か(n: i32) -> bool {
n % 3 == 0
}
fn 三を含むか(n: i32) -> bool {
一の位が3か(n) || 十の位が3か(n)
}
fn 一の位が3か(n: i32) -> bool {
n / 10 % 10 == 3
}
fn 十の位が3か(n: i32) -> bool {
n % 10 == 3
}
fn アホになる(n: i32) {
println!("{}🤪", n)
}
fn 普通に言う(n: i32) {
println!("{}", n)
}
fn オモロー(){
println!("100😲オモロー!");
}
プログラム例
fn main() {
for i in 1..=99 {
let s = match i / 10 % 10 == 3 || i % 10 == 3 || i % 3 == 0 {
true => "🤪", false => ""
};
println!("{}{}", i, s);
}
println!("100😲オモロー!");
}