AppleScript: Handler
AppleScript絕對(duì)是個(gè)奇葩的存在!不管功能有多強(qiáng)大。
Handler有兩種,一種是和OC類似的使用Label參數(shù),一種是和javascript類似的使用括號(hào)把一堆參數(shù)都放在里面的。
label參數(shù)的Handler的寫法非常奇怪,光看文檔絕對(duì)讓人迷糊。這里按照我的理解說一下。
on handleName of 第一個(gè)參數(shù) [ASLabel 參數(shù)名...] [given label名:參數(shù)名[, label名:參數(shù)名...]]這里解釋一下。方括號(hào)括起來的是可以沒有的。也就是只有一個(gè)參數(shù)的時(shí)候可以只在handlerName后面加一個(gè)of然后參數(shù)名就可以。這個(gè)簡(jiǎn)單,不多說。后面的比較麻煩。如果多余一個(gè)參數(shù)的時(shí)候,第二部分完全可以不要。只按照形式:given label名: 參數(shù)名的形式給出就可以。按照上面的形式可以推想到,使用given的形式可以給出很多的參數(shù)。比如:
on handlerName of firstone given another: anotherone, andone: anotherone1, andanotherone:anotherone2, andanotheragain:anotherone3好的,回到handler定義形式的ASLabel部分。ASLabel是蘋果系統(tǒng)定義的,而且在handler的定義中每一個(gè)ASLabel只能出現(xiàn)一次!郁悶就在于,蘋果文檔給出的這些關(guān)鍵詞居然有無效的!看報(bào)錯(cuò)信息把,如果提示說“需要用到into什么的,而沒有遇到”,那么恭喜你,你用的ASLabel不是系統(tǒng)定義的那個(gè)。
在調(diào)用label形式的handler的時(shí)候和定義的時(shí)候形式是一樣的。這里主要針對(duì)的是后面的given定義形式。
總結(jié)
以上是生活随笔為你收集整理的AppleScript: Handler的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP存储过程参数数据类型
- 下一篇: css常用命名