相关疑难解决方法(0)

Groovy范围 - 如何在方法中访问脚本变量

我有一个关于Groovy中的作用域规则的问题.在下面的代码片段中,我有三个变量,a具有本地范围,b具有脚本范围,并且c还应使用@Field注释获取脚本范围.

#!/usr/bin/groovy
import groovy.transform.Field;

//println org.codehaus.groovy.runtime.InvokerHelper.getVersion()

def a = 42;
b = "Tea"
@Field def c = "Cheese"

void func()
{
    // println a // MissingPropertyException
    println b // prints "Tea"
    println c // prints "Cheese" with groovy 2.1.2, MissingPropertyException with groovy 1.8.6

}

class Main
{
    def method()
    {
        // println a // MissingPropertyException
        // println b // MissingPropertyException
        // println c // MissingPropertyException with both 1.8.6. and 2.1.2
    }

} …
Run Code Online (Sandbox Code Playgroud)

groovy scope

33
推荐指数
2
解决办法
4万
查看次数

标签 统计

groovy ×1

scope ×1