五、AppleScript中的handler

处理代码块

例 :

无参数的handler

on setHelloWorld()
    set a to "Hello World!"
end setHelloWorld

调用该代码块

setHelloWorld()
0EAF1799-CB8E-4062-85EF-D0EB2B77F3B2.png

在代码块前 也可以执行 handler

带参数的handler

on setA(str)
    set a to str
end setA

setA("Hello World!")
66E40134-0C10-4826-9DD5-C2DA5647CAE2.png

带多个参数的handler

on dialogHelloWorld(str1, str2)
    display dialog str1 & str2 buttons {"OK"} default button "OK"
end dialogHelloWorld

dialogHelloWorld("Hello ", "World!")

带返回值的handler

on getStringA(strA)
    set a to strA & strA
    return a
end getStringA
set a to getStringA("ha")
5F84F4EE-E452-4434-937A-64BF0CD84795.png

如果需要多个返回值,只能返回列表或记录

在其他程序中调用handler

仍以这个例子来说,在Finder里调用

on dialogHelloWorld(str1, str2)
    display dialog str1 & str2 buttons {"OK"} default button "OK"
end dialogHelloWorld

tell application "Finder"
    dialogHelloWorld("Hello ", "World!")
end tell
4B283A14-389A-4564-9000-84E6FF7B7B87.png

除了像上面那样,在外部单独调用,我们可以加上of me来标记这个handler

on dialogHelloWorld(str1, str2)
    display dialog str1 & str2 buttons {"OK"} default button "OK"
end dialogHelloWorld

tell application "Finder"
    dialogHelloWorld("Hello ", "World!") of me
end tell
9CE197DE-8FCE-4A66-A611-84E94CB31E47.png

你可能感兴趣的:(五、AppleScript中的handler)