AppleScript 中带有 On/End 语句的变量

Variables with On/End Statements in AppleScript

我正在尝试使用 AppleScript 中的 onend 语句。

考虑以下脚本。

set mytext to "Hello, World"  

on greeting(mytext)  
display dialog mytext default answer ""  
set othertext to text returned of result  
end greeting

greeting(mytext)  
say othertext  

我想将变量 mytext 转移到 greeting 中,我知道我可以通过将 mytext 问候语 之后的括号之间。但是,我想将 greeting 语句 othertext 中设置的变量转移到代码的其余部分。

最后,我希望脚本将 othertext 设置为文本框中输入的任何内容,并在 greeting 脚本之后说 othertext。我尝试将 othertext 放在 end greeting 之后的括号之间,但这不起作用。

set mytext to "Hello, World"  

on greeting(mytext)  
    display dialog mytext default answer ""  
    return text returned of result  
end greeting

set othertext to greeting(mytext)  
say othertext

编辑添加:

set mytext to "Hello, World"  

on greeting(mytext)  
    display dialog mytext default answer "" buttons {"Yes", "No", "Maybe"} 
    return {text returned of result, button returned of result}
end greeting

set {othertext, chosenaction} to greeting(mytext)  

通过 return 列表(在下面的示例中)或记录,您可以 return 从处理程序中获得任意数量的变量。只要你知道如何找到你想要的东西,它就会非常有效。

set mytext to "Hello, World"

on greeting(mytext)
    display dialog mytext default answer ""
    return {(text returned of result), "Another Variable"}
end greeting

set othertext to greeting(mytext)
say othertext's item 1