Rustのrangeでステップ数(=by)を指定したいとき
やりたいこと
for i in 0..10とかで、1ずつ上がるのではなく3ずつにしたいときの話。
Scalaだとn to m by lみたいにかけるやつ。
.step_by()
(1..10).step_by(2)のようにかける。ただし引数がusizeで負の数を受け付けない仕様。下に降りるrangeが作れない。
負のstep数を使いたいなら以下。
std::iter::range_step
以下だと、step数が負の数でもできる。ただunstable。
std::iter::range_step(100i, 0, -1)