前提・実現したいこと
String型の数字を入力してもらい入力された数字と任意の場所にある配列を入れ替えるシステムを作ろうとしています。
実装中に以下のエラーメッセージが発生しました。
入力されたString型の数字をusize型に変更できれば解決すると予想しているのですが解決方法を教えてください。
発生している問題・エラーメッセージ
error[E0308]: mismatched types --> src/main.rs:12:16 | 12 | array.swap(t, t + 1); | ^ expected `usize`, found struct `String` error[E0308]: mismatched types --> src/main.rs:12:23 | 12 | array.swap(t, t + 1); | ^ expected `&str`, found integer error[E0308]: mismatched types --> src/main.rs:12:19 | 12 | array.swap(t, t + 1); | ^^^^^ expected `usize`, found struct `String`
該当のソースコード
Rust
1use std::io; 2fn main() { 3 let g = "g"; 4 let l = "l"; 5 let e = "e"; 6 let mut array = [g, l, e]; 7 println!("数字を入力してください"); 8 let mut t = String::new(); 9 io::stdin().read_line(&mut t).ok(); 10 array.swap(t, t + 1); 11 println!("{:?}", array); 12} 13
試したこと
swapがusizeを期待しているので
let mut t = String::new();
io::stdin().read_line(&mut t).ok();
let num: = t.parse().unwrap();
array.swap(num, num + 1);
println!("{:?}", array);
と変えましたが
error: expected type, found =
--> src/main.rs:12:15
|
12 | let num: = t.parse().unwrap();
| --- ^ expected type
| |
| while parsing the type for num
error: aborting due to previous error
となってしまいました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/11 00:17