範囲型 (RangeBounds トレイトを実装する型) には Iterator として機能するものがある。

next メソッドを呼ぶと、開始端がインクリメントされ、直前の開始端が戻される。

対象となる型

対象となる型には以下の条件が必要。

サンプル

以下では、Range 構造体をイテレータとして直接操作している。


fn main() {
    let mut range = 3..6;
    assert_eq!(range.next(), Some(3));
    assert_eq!(range, 4..6);
}