RosettaCodeData/Task/Loops-Wrong-ranges/Crystal/loops-wrong-ranges.cr
2026-04-30 12:34:36 -04:00

19 lines
430 B
Crystal

examples = [
[-2, 2, 1],
[-2, 2, 0],
[-2, 2, -1],
[-2, 2, 10],
[ 2, -2, 1],
[ 2, 2, 1],
[ 2, 2, -1],
[ 2, 2, 0],
[ 0, 0, 0]
]
examples.each do |(start, stop, step)|
range = (start..stop).step(step) rescue nil
size = range ? range.dup.size : "<not possible>"
printf "from %2d to %2d by %2d, size: %s", start, stop, step, size
print ", steps: ", range.first(10).join " " if range
puts
end