AppleScript编程(二):杂谈及补充

本文先谈作为AppleScript内置数据结构的记录(record)之用法,接着按照一般性套路介绍AS脚本的控制流概念,哦对还有最重要的文件概念


再谈record及相关

在上一章我们简单的介绍了AS内置的四种基本数据结构,分别是数字、文本、列表,再有就是下面要着重讲的记录(record)

record处理返回值很方便

脚本部分

这里写图片描述

输出部分

这里写图片描述

这里写图片描述

这里写图片描述

提供一个默认值以使用输入框

脚本部分

这里写图片描述

输出部分

这里写图片描述

这里写图片描述

这里写图片描述

写到这里,提两点我踩过的坑

1)可以为一个动作『赋值』,只要在前面加上set temp to即可

2)第二行依赖于前一个变量返回值的变量之变量名不能乱取

这里写图片描述

这里写图片描述

这里写图片描述

总结下有个规律:上面是『文本被填充』就是xxxEntered,文本的第一个栗子是『按钮被按下』就是xxxPressed,都是过去分词后置作定语:-)

不过如果不是依赖于别的动作的返回值,它的名字可以随便取(比如上面可以取shit如果你愿意的话)

3)最后说明下,text returned ofbutton returned of是一个完整的语句,不能拆成returned,没有这样的写法


苹果脚本的注释

使用--(两个连续的连字号)表示注释

这里写图片描述

这里写图片描述


条件语句

AS的条件语句和Bash比较相似

这里写图片描述

如果输入2显示

这里写图片描述

否则

这里写图片描述

在按钮被点击后将beep相应的次数(如果输入1000就响1000次),而且中途还不能退出!

这里写图片描述

除非强制退出

这里写图片描述

强调一点,AS脚本的判断语句用=(单个等号)而不是两个等号进行判断,如果要赋值一律使用set关键字,不要混淆!


异常处理

小巧的AS脚本也有其支持的异常处理机制

这里写图片描述

在Bi一声后say出最后一行的话(脚本嘛,动态执行,所以处以0前面的语句还是执行了的)


路径、文件夹和应用程序

下面的一行AS脚本

这里写图片描述

运行后打开文件夹让用用户进行选择

比方我选的是~/Downloads

这里写图片描述

结果输出如下

这里写图片描述

它符合硬盘: 文件夹: 子文件夹: 子文件夹 ..的形式

记住上面的『描述文件路径的格式』,使用tell命令我们可以让Finder程序帮我们打开某个文件

这里写图片描述

同样的在tell语句块结束的地方不要忘了end tell
xxend xx格式在AS脚本中很常见)

这里写图片描述

运行脚本将会打开我的家目录下的音乐文件夹


重复

类似于其他高级程序设计元素的『循环』概念,这里做了简化

同样是以xxxend xxx格式的语句块组织代码的,这里关键字是repeat

实例一:输出(voice) Hello x 5

这里写图片描述

实例二:输出(voice) This is 1、This is 2、This is 3.

这里写图片描述

说明:注意到变量anItem依赖于lyst,所以它的命名是受限的


处理程序(handler)

说白了就是其他语言的函数、方法

这里写图片描述

这里写图片描述

不同的是,handler的格式是on xxxend xxx

猜你喜欢

转载自blog.csdn.net/abc_12366/article/details/80292881