我的新玩具-AppleScript(二)

好吧,可能你已經(jīng)迫不及待的想要去大顯身手了;但是了解的太少的話,你變出的花樣就少很多了。所以我希望你耐著性子,把這篇文章看完。假如你有一些編程功底,你馬上都能用AppleScript實(shí)現(xiàn)一些簡(jiǎn)單的算法了。

AppleScript有4種最基本的數(shù)據(jù)類型,number,string,list和record,分別對(duì)應(yīng)編程概念中的數(shù)值,字符串,數(shù)組和字典。我也不清楚Apple為什么在AppleStript中不使用array和dictionary這樣的描述了,可能是它的惡趣味吧!

如果你記得上一篇中給變量賦值和獲取值得set,get語(yǔ)句的話,那么number對(duì)你真的一點(diǎn)挑戰(zhàn)性都沒(méi)有。

數(shù)值類型

字符串也都是變量,它們是可以用&拼接的,還有一些其他的玩法。

字符串之一


字符串之二

分割,組合,轉(zhuǎn)化,字符串的玩法還是蠻多的。

list的使用和數(shù)組一樣,就是增,刪,改,查。

list的使用

注意到了嗎?AppleScript中最常見(jiàn)詞語(yǔ)就是set,get,to,of。

record也不例外,甚至它的語(yǔ)法平淡的我擔(dān)心你記不住。

record的使用

OK,這幾種基本語(yǔ)法至少都有大概的印象的吧!

我剛剛接觸它的時(shí)候,如果碰到不記得的語(yǔ)法,就自己先試試,因?yàn)樗妥匀徽Z(yǔ)法太像了(事實(shí)上,這個(gè)甚至成為AppleScript被詬病的理由:它沒(méi)能做到完全的自然語(yǔ)言化,反過(guò)來(lái)給有編程基礎(chǔ)的人造成了麻煩),很多時(shí)候是能夠走通的。如果不行的話,就去查查字典或者官方文檔。

好啦!到這里的時(shí)候,你應(yīng)該能做一些簡(jiǎn)單的算法了,哦哦,對(duì)不起,我差點(diǎn)忘了,還應(yīng)該介紹基本的結(jié)構(gòu):順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

順序結(jié)構(gòu)不用說(shuō),一條路走到黑。

選擇語(yǔ)句在這里實(shí)際上就是條件語(yǔ)句,像下面這個(gè):

條件語(yǔ)句

至于條件嘛,像>,<,=, \=(不等于)這些都是OK的,還有一些關(guān)于字符串的contains,has prefix什么的,怎么直觀怎么來(lái)。如果你英語(yǔ)好點(diǎn),絕對(duì)可以蒙出來(lái)的。

循環(huán)語(yǔ)句就太多了(干嘛搞這么多選擇,會(huì)死人的!),主要關(guān)鍵字是repeat,repeat來(lái)repeat去,記得循環(huán)結(jié)束的時(shí)候end repeat就行了。

循環(huán)結(jié)構(gòu)

如果你覺(jué)得這個(gè)不夠多,還有其他的玩法,在下不奉陪了......

好啦!現(xiàn)在有了這些武器,做一些小算法綽綽有余了吧!當(dāng)然加減乘除什么的最簡(jiǎn)單了,麻煩親們考慮一下下面的問(wèn)題:在順序排列的1到9之間任意加入+,-或者空白(空白表示兩個(gè)數(shù)字連一起,比如3,4直接是空白就表示34),有多少種方法使得最后結(jié)果等于100呢?

最后找了一份資料,以方便之名:

http://pan.baidu.com/s/1kVtrXYJ


ps:我承認(rèn)我偷懶了,但是上班是第一位的,下班之后在還要準(zhǔn)備其他內(nèi)容。至于熬夜,呵呵,如果等到12點(diǎn)以后發(fā)就打臉了。請(qǐng)各位包容!也祝福和我一樣還在奮斗的人早日實(shí)現(xiàn)夢(mèng)想!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容