applescript - 导致 stackoverflow 的简单 AppleScript——为什么?

标签 applescript stack-overflow

-- 我确定这是重复的 --

我在 O'reilly 的书中读到过这个 (:

虽然没有推理 ):

在一个简单的 AppleScript 文件中:

script implicitRunHandlerScript
end script      

run implicitRunHandlerScript
      --    why does this lead to a stack overflow?

最佳答案

您发布的脚本包含一个名为 implicitRunHandlerScript 的子脚本和一个处理程序,即“隐式 run 处理程序”。隐式 run 处理程序包含一条语句:

run implicitRunHandlerScript

子脚本继承其父脚本的处理程序。因此,您的 implicitRunHandlerScript 继承了其父级的实现 run 处理程序。并且继承的隐式 run 处理程序调用 implicitRunHandlerScriptrun 处理程序,因此它递归地调用自身。

阅读Defining Script ObjectsInheritance in Script ObjectsAppleScript 语言指南中。

关于applescript - 导致 stackoverflow 的简单 AppleScript——为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14086385/

相关文章:

c - Ubuntu 10 中的实验性缓冲区溢出(汇编)

java - 在 Java 中序列化对象时出现 StackOverflowError

macos - 如何在 AppleScript 中向菜单栏应用程序(没有菜单栏菜单项)发送命令?

passwords - 使用 AppleScript 制作用户名和密码输入框

xcode - 在applescript中写入/读取单个变量

objective-c - NSAppleEventDescriptor 到 NSArray

c++ - 如何避免此代码中的堆栈溢出,(递归函数)

java - 在 android 中保存和加载我的对象时出现 StackOverflowError

applescript - 从文件中读取 iCal 信息以生成 iCal 事件

c++ - 如何在函数中执行 if 语句?