[Groovy] 关于for循环的一个疑惑
thiner
2007-07-19
我在GroovyConsole中运行下面的代码的时候报错:
for(int i=0;i<5;i++) { println "This is $i" } 可是,这段代码改成Groovy风格就可以运行: for(i in 0..<5) { println "This is $i" } 我对照了山风的教程,我觉得第一个没有问题啊,不知道错在哪里? 另,我发现,把 println "This is $i" 写成 println 'This is $i' 的话,会被当成字符串,而不会每次输出的时候都换成i的实际值。 请问山风,Groovy中还有类似这样的功能差异吗? |
|
agile_boy
2007-07-19
groovy目前应该不支持java那样的for语法的
|
|
山风小子
2007-07-19
agile_boy 写道 groovy目前应该不支持java那样的for语法的
从Groovy1.1beta2开始已经支持经典的for语句了 To thiner: 如果不是Groovy1.1beta2之后的版本(包括Groovy1.1beta2),请升级Groovy groovy> for(int i=0;i<5;i++) groovy> { groovy> println "This is $i" groovy> } This is 0 This is 1 This is 2 This is 3 This is 4 |
|
lordhong
2007-07-21
thiner 写道 println "This is $i" 写成 println 'This is $i' 这个你要看GROOVY的SPEC, " double-quote是GROOVY GString类, 叫做string interpolation, 里面的var是在runtime的时候eval的. 其他的... 应该还有很多, 比如: if (x==5) 是可以的 if (x=5) 编译error if ((x=5)) 又是可以的 while (x=5) 也是可以的 要详细看看GROOVY的SPECS :"] |
|
thiner
2007-07-23
我检查过了,确实是版本问题。
非常感谢各位的回复。:) |