0

我已经开发 AppleScript 几个月了,代码达到了大约 6,000 行。

它的功能是与 Automator 一起运行,它从剪贴板接收内容,这些内容是从电子表格中复制的行。然后,它将这些内容写入各种全局变量。

全局变量在主函数中贯穿和扩展逻辑树进行修改,最后用输出函数写回剪贴板:

global SomeGlobalVariables

on OutputFunction()
    
    #write global variables to clipboard
    
end OutputFunction

on InputFunction(input, parameters)
    
    #write clipboard to global variables
    
end InputFunction

#main function

on run {input, parameters}
    
    InputFunction(input, parameters)
    
    if globalVariable1 = "Test" then

        #Code with many IF-Statements modifying global variables

    else if globalVariable1 = "Test2" then

        #Code with many IF-Statements modifying global variables
        #if globalVariable1 = "abc" then beep


    #... 
    #Code with many IF-Statements modifying global variables
    #... 
    #... 


    end if
    
end run

现在,我遇到了一个非常奇特的问题:

一旦我在主函数中超过一定数量的 IF 语句,代码在我到达结束运行之前会抛出一个错误。

例如,如果 globalVariable1 是“Test”,那么代码一开始就可以正常工作。但是当我稍后通过添加一些随机的 IF 语句来修改“Test2”部分时,例如

if globalVariable1 = "abc" then beep

我在结束运行之前收到一条错误消息。即使“Test2”部分永远不会被处理,因为 globalVariable1 始终保持“Test”。

我收到的错误消息相当随机,具体取决于我在代码中放置了多少随机 IF 语句。大多数情况下,他们声明无法将某些内容转换为数字/文本/…</p>

我以前从未听说过这样的事情,但是我的代码中的 IF 语句是否存在限制或可以解释该行为的明显缺陷?

谢谢!

4

0 回答 0