需要が無いのか、整数刻み以外の方法が検索で出てこなかったのでまとめておく。
TD;DR
例えば、0.5刻みで0から5までの数値の配列を得る方法。
こうする
def a = []
0.step(5.1, 0.5) { a << it }
println a
output
[0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]
ポイント
- Groovy-jdk Numberクラスのstepメソッドを使う
- 終端の値を欲しい値よりも少し大きめに取る
- 終端の値、刻みともに数値型ならばなんでもOK
stepメソッド
- 第一引数が終端(ただしこの値を含まない半開区間)
- 第二引数が刻み(数値型全て使える)
こんなこともできる
def b = []
0.step(-5.1, -0.5) { b << it }
println b
output
[0, -0.5, -1.0, -1.5, -2.0, -2.5, -3.0, -3.5, -4.0, -4.5, -5.0]
thanks for
GroovyのRangeメモ http://qiita.com/saba1024/items/75f507b0de843255d2fa