如何在程序中修复未定义的变量?

bez9199

我是AppleScript的初学者。我正在尝试开发一个可以生成实际随机数的程序。当我设置将用于生成随机数的数字的值时,编辑器给我一个错误:

未定义变量numberOne。

我知道这意味着什么,但是我不知道为什么它没有定义。有人可以帮忙吗?

我试过看看是否只有字符串而不是文本可以工作,但这似乎没有实现。可能确实很容易解决此问题,但是正如我所说,我是一个初学者。

on variableValue()
    set numberOne to text returned of (display dialog "Variable One:" default answer "" with icon note buttons {"Cancel", "Continue"} default button 2 with title "Random Number Generator 3") as string
    set numberTwo to text returned of (display dialog "Variable Two:" default answer "" with icon note buttons {"Cancel", "Continue"} default button 2 with title "Random Number Generator 3") as string
    set numberThree to text returned of (display dialog "Variable Three:" default answer "" with icon note buttons {"Cancel", "Continue"} default button 2 with title "Random Number Generator 3") as string
    set numberFour to text returned of (display dialog "Variable Four:" default answer "" with icon note buttons {"Cancel", "Continue"} default button 2 with title "Random Number Generator 3") as string
    set numberFive to text returned of (display dialog "Variable Five:" default answer "" with icon note buttons {"Cancel", "Continue"} default button 2 with title "Random Number Generator 3") as string
    set useSameValues to button returned of (display alert "Use same values?" message "If you re-generate a new number, do you want to use the same values?" as critical buttons {"Cancel", "No", "Yes"} default button 3)
    if useSameValues = "No" then
        set useSameValuesTwo to "false"
    else if useSameValues = "Yes" then
        set useSameValuesTwo to "true"
    end if
end variableValue
variableValue()
on randomNumber()
    -- The line of code just beneath this text is where the error shows up (This is my first program that utilizes handlers, so something could be wrong there).
    set numberSix to (numberOne + numberTwo + numberThree + numberFour + numberFive)
    set numberSeven to (numberSix * (random number from 1 to (random number from 2 to 100)))
    set possibleValueOne to (random number from 1 to 5)
    if possibleValueOne = 1 then
        set numberEight to (numberSeven - numberOne)
    else if possibleValueOne = 2 then
        set numberEight to (numberSeven - numberTwo)
    else if possibleValueOne = 3 then
        set numberEight to (numberSeven - numberThree)
    else if possibleValueOne = 4 then
        set numberEight to (numberSeven - numberFour)
    else if possibleValueOne = 5 then
        set numberEight to (numberSeven - numberFive)
    end if
    set numberNine to (numberEight - 100000)
end randomNumber
randomNumber()
红脸

在AppleScript(与大多数语言一样)中,变量具有作用域,这是在任何给定脚本对象中识别声明的标识符的位置。在处理程序内部声明的变量是该处理程序的局部变量,并且不在该处理程序外部存在,因此您需要提供一些方法以使其在其他地方可用。有几种方法可以做到这一点,例如声明全局变量或属性,或使处理程序将值返回给调用方。

在您的示例中,在variableValue()处理程序中声明的变量在处理程序之外不可用,因此将这些变量声明为global可能是最容易的,例如,通过在脚本开头添加以下声明:

global numberOne, numberTwo, numberThree, numberFour, numberFIve

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

程序运行后如何修复未定义的变量

如何在Prometheus中修复错误的未定义变量“ $ labels”?

如何在Laravel 5.2中修复“未定义的变量:子任务”

未定义JAVA_HOME环境变量。如何在Ubuntu 12.04中修复?

如何修复javascript中未定义的变量

如何修复此代码-函数中未定义变量

如何修复未定义的变量:Laravel 5.6中的图像

如何修复“ MANPATH:未定义的变量”。在csh中?

如何修复node-sass中的“未定义变量”?

如何在我的应用程序中修复``库未定义''错误

如何修复未定义的变量?

如何在Svelte中修复“未定义sessionStorage”?

如何在VueJS中修复“这是未定义的”?

如何在WordPress中修复“未定义不是函数”

如何在javascript中修复“错误:未定义”?

如何在JavaScript中检查未定义或null变量?

如何在JavaScript中检查未定义的变量

如何在Swift中检查未定义或null变量?

如何在Sass中检查未定义的变量

如何修复“未定义变量:合作者”?

如何修复PyDev“导入时未定义变量”错误?

PHP错误未定义变量注意如何修复?

如何修复此错误“未定义变量:产品(0)”

找不到针对Javascript中未定义的修复程序

无法修复代码中的“ PHP注意:未定义的变量”和“未定义的索引”

如何修复程序的布尔函数中的未定义标识符错误?

如何在HiveMQ Client中修复未定义的MqttChannelInitializer构造函数?

如何在 Keras 中修复名称“未定义嵌入”

如何在arduino IDE中修复“未定义的引用:”,尝试使用googletest