配列などの各要素を巡る抽象化はイテレータだよ
抽象化の役割分担がわかりやすいRustで説明すると
今回の各要素の順番を逆順にしたベクタを作る関数はこうなる
fn reverse_value<T: Clone>(input: &[T]) -> Vec<T> {
input
.iter() // 各要素への参照を巡るイテレータ
.rev() // それを逆順に巡る
.cloned() // 各要素への参照から値を複製して値を得る
.collect() // それらの値を今回は返り型で指定のVecへ収集
}
このイテレータは各要素への参照(ポインタ)を動かしていくので
今回のように値を複製したい場合は.cloned()が必要となる
それを無しにすると以下のように各要素への参照のベクタが得られる
fn reverse_reference<T>(input: &[T]) -> Vec<&T> {
input
.iter() // 各要素への参照を巡るイテレータ
.rev() // それを逆順に巡る
.collect() // それらの参照を今回は返り型で指定のVecへ収集
}
このように抽象化された各パーツを組み合わせることで
可読性と安全性と高速実行を両立させている
Qiita 7 - キータぞ、来たぞ、キータだぞー
2025/09/17(水) 22:01:15.40ID:+QFNSyi5
レスを投稿する
ニュース
- 【サッカー】日本代表の南野拓実は左膝前十字靱帯断裂の重傷 全治は明らかにされず フランス杯で負傷 所属先のモナコが発表 [久太郎★]
- 日本の労働生産性28位に後退、先進7か国で最下位…デフレやコロナ禍で経済の低成長続く [ぐれ★]
- 【MLB】村上宗隆の『小型契約』は吉田正尚の影響か 市場が思いのほか停滞 「NPB打者に懐疑的。吉田が高すぎた」 [冬月記者★]
- ゼレンスキー氏「高市総理に感謝」 9000億円超追加支援に 「国際秩序に貢献」 (動画あり) [ごまカンパチ★]
- 高市内閣の若い世代の支持率は92.4% FNN世論調査★4 [♪♪♪★]
- 【徳島】「体調が悪くなったら自己責任」と同意書求める 最長1年2か月期限切れ 生活保護受給者に賞味期限切れ食品を支給 徳島市 ★3 [ぐれ★]
- 岸田文雄🕶「だから俺の時代が一番よかっただろ、馬鹿な国民が」 👈これ言われたらお前らどうするよ?高市 [986198215]
- まう3時だよ
- チャッピー「息臭い人好き」
- キミとアイドルプリキュアもう終盤じゃん
- 最近この時間に起きてしまうんだが
- 使っていないgmailやoutlookのアドレスに期限切れメール
