What's the most elgant way in Groovy to specify a range of integers and the 0.5 steps between them? e.g.: 1, 1.5, 2, 2.5, 3, 3.5, 4
Edit: To clarify: As an end result I need a range object for use in a Grails constraint. Though I suppose a list would be OK too.
(1..7).collect{0.5*it}
is the best I can think ofmy answer is the following:
A little late, but this works too
A one-liner for your above set:
(2..8)*.div(2)
Soo, to build on above. To test if a value val is in the range 1..n but with half values:
Something like that would work, but isn't as pretty as I'd like, but it lets you build the range once and use it multiple times, if you need that.
FYI, as of Groovy 1.6.0, it seems not to support natively. There exists only ObjectRange.step(int) at the moment.
http://groovy.codehaus.org/api/groovy/lang/ObjectRange.html#step%28int%29