Groovy:如何访问内部变量?

时间:2018-04-13 09:01:30

标签: groovy

我正在尝试访问一个在循环中定义的变量。我该如何访问它?

fileContents.split('\n').each {
    if (it =~ /nodePort:/) {
        def splitted_string = it.split(':')
        String nodePort = (splitted_string[1].trim())
    }
}
println nodePort
  

错误:groovy.lang.MissingPropertyException:没有这样的属性:nodePort

如何访问变量nodePort?

2 个答案:

答案 0 :(得分:1)

您无法从外部范围访问变量。但是,您可以将变量移动到外部范围。

String nodePort
fileContents.split('\n').each {
    if (it =~ /nodePort:/) {
        nodePort = (splitted_string[1].trim())
    }
}
println nodePort

答案 1 :(得分:0)

另一种选择是:

fileContents.split('\n').find { it =~ /nodePort:/ }?.tokenize(":")?.getAt(1)