generated at
IntoIterator trait
その型をiteratorに変換するtrait
IntoIterator を実装する型のことを「iterable」と呼ぶ




定義
rs
trait IntoIterator { type Item; type IntoIter: Iterator<Item = Self::Item>; fn into_iter(self) -> Self::IntoIter; }


実装した型の例
[T] , Vec<T> , Range<A> , etc.


関連










for..in は実際は以下のようなコードを糖衣構文(?)らしい
rs
let mut iterator = (&v).into_iter(); while let Some(element) = iterator.next() { println!("{}", element); }
実際にそう変換しているのかは知らんけど、同義らしい
into_iter()でiteratorに変換して、 .next() を繰り返し呼んでる