AppleScript新手,它看起来变量可以设置为脚本或处理程序:
on Foo()
log "Foo"
end Foo
on Bar()
log "Bar"
end Bar
set myHandlers to {Foo, Bar}
set x to the first item in myHandlers
log x -- <<handler Foo>>
现在如何调用'x'?无法在官方文档中找到此信息;尝试了一些关键词,如“run”,“exec”,都没有用。
答案 0 :(得分:2)
script Foo
on doit()
log "Foo"
end doit
end script
script Bar
on doit()
log "Bar"
end doit
end script
set myHandlers to {Foo, Bar}
set x to the first item in myHandlers
x's doit() -- logs "Foo"
有一些examples here [1]你可能会觉得有帮助;例如请参阅List
库的sort list
命令和Text
库的search text
命令,这两个命令都采用使用此技术启用用户的可选参数 - 可自定义的行为。
[1]顺便说一句,也可以随意欺骗我的Radar ticket请求Apple在10.13中包含那些库;他们获得的请求越多,他们就越有可能这样做。