groovy - 如何在 Groovy 范围对象中做到这一点?

标签 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 中执行此操作?还是语法错误?

提前致谢。

最佳答案

这不是微不足道的。 range 对象有一个 step 方法,但这只允许整数步长。 另一种解决方案是定义您自己的范围对象。

如果一个列表也可以,你可以在数字上使用step方法:

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

另一种解决方案:

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

关于groovy - 如何在 Groovy 范围对象中做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6715686/

相关文章:

grails - 由于模糊的def递归导致的grails中的堆栈溢出

groovy - 我们可以通过顺序获取 Groovy 类的声明属性吗?

gradle - 在gradle + groovy项目中自动创建的Java源文件夹

groovy - 创建自己的Groovy库

grails - 如何使创建的JSON对象成为Groovy对象,以便我通过dot(.)运算符访问属性

xpath - Groovy htmlunit getByXPath

java - 我们可以将 Spock 与纯 Java 一起使用吗

json - 我正在尝试将 'ffprobe'与Java或groovy一起使用

groovy - groovy中int和Integer类型的区别

java - 如何通过 Groovy 获取文件 build.gradle 的完整路径?