当我运行以下 Jenkins 流水线脚本时:
def some_var = "some value"
def pr() {
def another_var = "another " + some_var
echo "${another_var}"
}
pipeline {
agent any
stages {
stage ("Run") {
steps {
pr()
}
}
}
}
我遇到了这个错误:
groovy.lang.MissingPropertyException: No such property: some_var for class: groovy.lang.Binding
如果从 `some_var` 中移除 `def`,它可以正常工作。有人能解释一下导致这种行为的作用域规则吗?