Groovy:如何访问内部变量?
我试图访问一个在循环中定义的变量。我如何访问它Groovy:如何访问内部变量?,groovy,Groovy,我试图访问一个在循环中定义的变量。我如何访问它 fileContents.split('\n').each { if (it =~ /nodePort:/) { def splitted_string = it.split(':') String nodePort = (splitted_string[1].trim()) } } println nodePort 错误:groovy.lang.MissingPropertyException:没
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?您不能从外部作用域访问变量。但是,您可以将变量移动到外部范围
String nodePort
fileContents.split('\n').each {
if (it =~ /nodePort:/) {
nodePort = (splitted_string[1].trim())
}
}
println nodePort
另一个选择是:
fileContents.split('\n').find { it =~ /nodePort:/ }?.tokenize(":")?.getAt(1)
什么是拆分的\u字符串?添加了拆分的\u字符串的代码。