イントロ
Rustの文法勉強のためにatCoderのA問題解いてみたのでその記録です。 ほんとうに最初の文法を少しかじったくらいなので、間違っていることはあると思います。ご容赦ください。
実装
https://atcoder.jp/contests/abc189/submissions/28515807
use std::io; fn main() { let mut input = String::new(); io::stdin().read_line(&mut input).expect("yeah."); let first_char = input.chars().nth(0); let second_char = input.chars().nth(1); let third_char = input.chars().nth(2); let first_equals_second = first_char == second_char; let second_equals_third = third_char == second_char; if first_equals_second && second_equals_third { println!("Won") } else { println!("Lost") } }
調べたこと
mainファイル以外をcargo runで実行したい
- binファイルとして登録して実行する。
- Cargo.tomlに登録必要
Rust:Cargoでmain.rs以外のソースファイルのmain()関数を実行する - Qiita
n文字目を取得
chars().nth()
を使う
Rust で文字列の n 文字目の文字を取得 - Qiita
文字列と文字列スライス
今回使ったのは、文字列スライスじゃなくて、文字列かな。
スライス型 - The Rust Programming Language 日本語版
[Rust] &strとStringを理解しようと思ったらsliceやmutを理解できてないことに気づいた話 - Qiita
所感
やっぱり速いんですね。