lucee 5.x ListEach 似乎无法访问本地变量范围?

lucee 5.x ListEach doesn't seem to be able to access local var scope?

我似乎无法访问我的 ListEach 中的 local 范围:

writeDump(local.woCoreID); // outputs expected values
//  LOOP OVER LIST AND SEPARATE TEXT FROM INTEGERS
ListEach(local.__userSuppliedWorkoutTagList, function (item) {
    writeDump(item) //  outputs expected values
    writeDump(local.woCoreID); // key [woCoreID] doesn't exist
});

当我尝试访问 local.woCoreID 时,我收到一条错误消息 key [woCoreID] doesn't exist。为什么当我可以在 ListEach 之前转储它并且我看到值在那里时。我在这里错过了什么?

我正在使用 Lucee 5.x

每个 function 都有自己的 local 范围。如果你想要 outer 范围,你必须引用它:

var outerLocal = local;

ListEach(local.__userSuppliedWorkoutTagList, function (item) {
    writeDump(item);
    writeDump(outerLocal.woCoreID);
});

或使用常规的计数 for 循环代替 ListEach() + function.