私は、ダイナミックな境界を持つ配列をスライスしようとしている:どのようにi32の制限でアレイをスライスするのですか?
fn main() {
let n: i32 = 2;
let a = [1, 2, 3];
println!("{:?}", &a[0..n]);
}
それは私に次のエラーを与える:
error: the trait bound
[_]: std::ops::Index<std::ops::Range<i32>>
is not satisfied
私はこのエラーをどうするのか分かりません。アレイをスライスするのにi32
を使用することはできないようですか?
本当に正しい答えは、できるだけ早く 'usize'として' n'を試して保存することです。それが何らかのユーザ入力であれば、負の数値はインデックス作成に無効なので、それは 'usize'として解析されるべきです。 –