ベクトルからx番目と最後の要素を取り出して連結したいと考えています。私は、次のコードを持っている:Rustで2つのスライスを連結するにはどうすればよいですか?
fn main() {
let v = (0u64 .. 10).collect::<Vec<_>>();
let l = v.len();
vec![v.iter().take(3), v.iter().skip(l-3)];
}
これは私にエラーを与える
error[E0308]: mismatched types
--> <anon>:4:28
|
4 | vec![v.iter().take(3), v.iter().skip(l-3)];
| ^^^^^^^^^^^^^^^^^^ expected struct `std::iter::Take`, found struct `std::iter::Skip`
<anon>:4:5: 4:48 note: in this expansion of vec! (defined in <std macros>)
|
= note: expected type `std::iter::Take<std::slice::Iter<'_, u64>>`
= note: found type `std::iter::Skip<std::slice::Iter<'_, u64>>`
どのように私は1, 2, 3, 8, 9, 10
の私のvec
を得るのですか?私は錆1.12を使用しています。
ありがとう。 '<_>'は「型を推測してください」のような意味ですか? –
'skip'を' extend'として取得する必要はありません。 – Neikos
@TheUnfunCatはい、 '_'は型プレースホルダーです。 – Neikos