Rustの文字列について
解決したいこと
VBAをかじっていたらプログラミングが楽しくなってきたので、競プロ目指してRustを始めました。
文字列の扱い方で疑問に思ったので、お教えいただければと思います。
コード1が本に載っていたものなのですが、s2の変数が邪魔だと思ってコード2のように直接文字列に変換しようとしたらエラーとなりました。
&を外すようhelpが出たのでコード3のように修正したら無事実行できました。
なぜ、参照を外さなければならなかったのですか?
該当するソースコード
fn main() {
//コード1
let s = "ご飯がおいしい";
let s1: Vec<char> = s.chars().collect();
let s2 = &s1[3..=6];
let s3: String = s2.into_iter().collect();
println!("{}", s3);
//コード2
let s = "ご飯がおいしい";
let s1: Vec<char> = s.chars().collect();
let s2: String = &s1[3..=6].into_iter().collect();
println!("{}", s2);
}
//コード3
let s = "ご飯がおいしい";
let s1: Vec<char> = s.chars().collect();
let s2: String = s1[3..=6].into_iter().collect();
println!("{}", s2);
}
0