本文先谈作为AppleScript内置数据结构的记录(record)之用法,接着按照一般性套路介绍AS脚本的控制流概念,哦对还有最重要的文件概念
再谈record及相关
在上一章我们简单的介绍了AS内置的四种基本数据结构,分别是数字、文本、列表,再有就是下面要着重讲的记录(record)
record处理返回值很方便
脚本部分
输出部分
提供一个默认值以使用输入框
脚本部分
输出部分
写到这里,提两点我踩过的坑
1)可以为一个动作『赋值』,只要在前面加上set temp to
即可
2)第二行依赖于前一个变量返回值的变量之变量名不能乱取
总结下有个规律:上面是『文本被填充』就是xxxEntered
,文本的第一个栗子是『按钮被按下』就是xxxPressed
,都是过去分词后置作定语:-)
不过如果不是依赖于别的动作的返回值,它的名字可以随便取(比如上面可以取shit
如果你愿意的话)
3)最后说明下,text returned of
、button returned of
是一个完整的语句,不能拆成returned
,没有这样的写法
苹果脚本的注释
使用--
(两个连续的连字号)表示注释
条件语句
AS的条件语句和Bash比较相似
如果输入2显示
否则
在按钮被点击后将beep相应的次数(如果输入1000就响1000次),而且中途还不能退出!
除非强制退出
强调一点,AS脚本的判断语句用=
(单个等号)而不是两个等号进行判断,如果要赋值一律使用set
关键字,不要混淆!
异常处理
小巧的AS脚本也有其支持的异常处理机制
在Bi一声后say出最后一行的话(脚本嘛,动态执行,所以处以0前面的语句还是执行了的)
路径、文件夹和应用程序
下面的一行AS脚本
运行后打开文件夹让用用户进行选择
比方我选的是~/Downloads
结果输出如下
它符合硬盘: 文件夹: 子文件夹: 子文件夹 ..
的形式
记住上面的『描述文件路径的格式』,使用tell
命令我们可以让Finder程序帮我们打开某个文件
同样的在tell
语句块结束的地方不要忘了end tell
(xx
、end xx
格式在AS脚本中很常见)
运行脚本将会打开我的家目录下的音乐文件夹
重复
类似于其他高级程序设计元素的『循环』概念,这里做了简化
同样是以xxx
、end xxx
格式的语句块组织代码的,这里关键字是repeat
实例一:输出(voice) Hello x 5
实例二:输出(voice) This is 1、This is 2、This is 3.
说明:注意到变量anItem
依赖于lyst
,所以它的命名是受限的
处理程序(handler)
说白了就是其他语言的函数、方法
不同的是,handler的格式是on xxx
、end xxx