Rust ベクタ(可変配列)の値を任意の数で後ろから順番に区切る

Rustで、ベクタ(可変配列)の値を任意の数で後ろから順番に区切るサンプルコードを記述してます。「rchunks」に取得する数を指定して「collect::>()」を使用します。Rustのバージョンは1.65.0を使用してます。
環境
- OS windows11 home
- rustc 1.65.0
任意の数で後ろから順番に区切る
任意の数で後ろから順番に区切るには、「rchunks().collect::<Vec<_>>()」を使用します。
ベクタ.rchunks(任意の数).collect::<Vec<_>>();
実際に使用してみます。
fn main() {
let v = vec![ 1, 2, 3, 4, 5 ];
println!("{:?}", v.rchunks(2).collect::<Vec<_>>() ); // [[4, 5], [2, 3], [1]]
println!("{:?}", v.rchunks(3).collect::<Vec<_>>() ); // [[3, 4, 5], [1, 2]]
}
実行結果を見ると、取得されていることが確認できます。

最大値
最大値を超えた場合は、空の配列が返り、最大値の場合だと、そのまま入れ子のベクタが生成されます。
fn main() {
let v = vec![ 1, 2, 3, 4, 5 ];
println!("{:?}", v.rchunks(5).collect::<Vec<_>>() );
// [[1, 2, 3, 4, 5]]
println!("{:?}", v.rchunks(6).collect::<Vec<_>>() );
// [[1, 2, 3, 4, 5]]
}
実行結果

空の配列
空の配列に使用すると、「空の配列」が返ります。
fn main() {
let v = vec![0; 0];
println!("{:?}", v.rchunks(5).collect::<Vec<_>>() );
// []
println!("{:?}", v.rchunks(6).collect::<Vec<_>>() );
// []
}
実行結果

-
前の記事
PostgreSQL エラー「ERROR: 演算子が存在しません: text = integer」が発生した場合の対処法 2023.01.02
-
次の記事
javascript エラー「Uncaught TypeError: xxx.replace is not a function」の解決方法 2023.01.03
コメントを書く