配列などの各要素を巡る抽象化はイテレータだよ
抽象化の役割分担がわかりやすい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
レスを投稿する
ニュース
- あぼーん
- 【サッカー】日本代表・塩貝健人のSNS炎上…人種差別的な攻撃の標的に ブラジルメディアは擁護「元の発言より過激に伝えられている」 [冬月記者★]
- 【サッカー】「1度寝る?起きておく?」 日本vsブラジルで議論勃発! 午前2時開始…「延長やPK戦までもつれたら朝までの戦いに」★2 [冬月記者★]
- 亀梨和也が田中みな実と結婚発表 妊娠も「新しい命も授かっています」ファンクラブサイトで ★6 [首都圏の虎★]
- 新卒一括採用はオワコンか 強まる即戦力志向、中途比率は5割超え [どどん★]
- 【速報】 レバノンで巨大な爆発 動画あり ★2 [お断り★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★238【メキシコ/カナダ/アメリカ】
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★239【メキシコ/カナダ/アメリカ】
- 【ATP】テニス総合実況スレ2026 Part 68【WTA】
- とらせん
- 【マターリ】日本vsブラジル ★1
- 巨専】祝勝会
- 日本vsブラジル★1 [903775116]
- 【朗報】FIFA公式「JAP🇯🇵」 [731544683]
- 😰🏡
- 俺の口癖が「リズムに乗るぜ!」なんだが
- 高市政府が悲鳴「中国はレアアースを輸出しろ!さもなくば必要な対応を行う😤」 [245325974]
- 車で大事故起こして乗っていた友達2人を死亡させて捕まった18歳男性の人生