如何在Groovy Range对象中执行此操作?

时间:2011-07-16 06:02:04

标签: groovy

我希望数字从0.1到2(例如0.1,0.2,0.3,0.4等等到2.0),因为我是一个常规家伙,我决定Range将完成这项工作,并附带代码,如这样:

def a = 0.1..2
println a

但它仅打印[0.1, 1.1]作为其输出!所以我不能在Range中这样做?或者通过语法错误?

提前致谢。

1 个答案:

答案 0 :(得分:6)

这不是微不足道的。范围对象具有步骤方法,但这仅允许整数步骤。 另一种解决方案可能是定义您自己的范围对象。

如果列表也没问题,您可以在数字上使用步骤方法:

0.1.step(2, 0.1){ print "$it "} 

另一种解决方案:

(1 .. 20).collect{it/10}