为什么你不能声明和使用对变量的引用,除非引用的变量是全局范围的?请解释导致以下现象的运行时内存或对象结构:
脚本 A 失败:
on foo()
set l to {0}
set lref to a reference to l
return item 1 of lref
end foo
foo()
脚本 B 成功:
on run
set l to {0}
set lref to a reference to l
return item 1 of lref
end run
脚本 C 成功:
on foo()
global l
set l to {0}
set lref to a reference to l
return item 1 of lref
end foo
foo()
另请参阅:如何在 AppleScript 的处理程序中有效地构建列表?以及为什么 AppleScript 不能在此测试代码中将散列的 firstValue 转换为类型引用?