S06003
错误代码
S06003
报错信息
Not allowed to define a named function [XXX] within another function. RefId: S06003
错误原因
这个报错与嵌套定义命名函数的错误用法有关。关于命名函数,参考:命名函数。
在命名函数定义里,不能再嵌套定义命名函数,否则会报这个错误,比如:
def f1() {
def f2() { // 报错
return "Hello"
}
return f2()
}
解决办法
-
把嵌套的命名函数改成匿名函数(推荐使用此方案):
def f1() { f2 = def () { // 定义匿名函数 return "Hello" } return f2() }
-
把嵌套的函数移到全局作用域下(请谨慎考虑使用此方案):
def f2() { return "Hello" } def f1() { return f2() }
关于匿名函数,参考:匿名函数。