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.>#wip
for..in
は実際は以下のようなコードを糖衣構文(?)らしいrslet mut iterator = (&v).into_iter();
while let Some(element) = iterator.next() {
println!("{}", element);
}
.next()
を繰り返し呼んでる