イントロ
Rustの文法勉強のためにatCoderのA問題解いてみたのでその記録です。 ほんとうに最初の文法を少しかじったくらいなので、間違っていることはあると思います。ご容赦ください。
実装
Submission #28516468 - AtCoder Beginner Contest 187
use std::io; fn main() { let mut input = String::new(); io::stdin().read_line(&mut input).expect("Yeah."); let vec: Vec<&str> = input.split_whitespace().collect(); let input_1: &str = vec[0]; let input_2: &str = vec[1]; let sum_1 = sum_from_str(input_1); let sum_2 = sum_from_str(input_2); if sum_1 > sum_2 { println!("{}", sum_1) } else { println!("{}", sum_2) } } fn sum_from_str(input: &str) -> i32 { let first_char: i32 = input.chars().nth(0).unwrap() as i32 - 48; let second_char = input.chars().nth(1).unwrap() as i32 - 48; let third_char = input.chars().nth(2).unwrap() as i32 - 48; return first_char + second_char + third_char; }
調べたこと
文字列を空白で分割
split_whitespace
が使える
文字列と数値の変換
rust String &str の変換と、文字列 数値 の変換 - Qiita
所感
もうちょっと良い書き方ある気がする…。