初识AppleScript

字符集

从OS X v10.5(AppleScript 2.0)开始, AppleScript的字符集是Unicode。AppleScript在全球范围内正确保留所有字符,脚本中的注释和文本常量可能包含任何Unicode字符
AppleScript语法使用多个非ASCII字符,可以使用特殊键组合键入。有关AppleScript特别处理的字符的信息,请参阅相关章节。Identifiers、Comments、Text、The Continuation Character、Raw Codes

身份标识

AppleScript标识符是一系列字符,用于标识类名,变量或其他语言元素,例如属性和处理程序的标签。
标识符必须以字母开头,并且可以包含以下任何字符:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_

身份标不是大小写敏感的,如myvariableMyVariable这两个变量的命名在AppleScript中的都是指同一个变量

AppleScript会记住并强制执行标识符所带来的第一个大小写。因此,如果它首次遇到myAccount标识符,它将在稍后编译期间将MyAccount和myaccount等版本更改为myAccount。

以下是有效标识符的示例:areaOfCircle,Agent007,axis_of_rotation。

以下是无效的标识符:C-,back&forth,999,why^not。

AppleScript为前面的规则提供了一个漏洞:第一个和最后一个字符是竖线(|)的标识符可以包含任何字符。前导和尾随垂直条不被视为标识符的一部分。

Important: This use of vertical bars can make scripts difficult to read, and is not recommended.
这种垂直条的使用会使脚本难以阅读,因此不建议使用。

下面的命令规则是合法的:|back&forth|, |Right*Now!|
标识符可以包含以反斜杠(\)字符开头的其他竖条,如标识符|This|Or|That|

关键词

关键字是AppleScript语言中的保留字。关键字由小写字母字符组成:abcdefghijklmnopqrstuvwxyz。在少数情况下,例如除了aside from之外,它们成对出现

Important: You should not attempt to reuse keywords in your scripts for variable names or other purposes. Developers should not re-define keywords in the terminology for their scriptable applications.
和大多数编程语言一样,保留关键字不允许被定义成变量,也不允许被重定义。

下图是AppleScript的保留关键字


初识AppleScript_第1张图片
01A88A0ABDF90FA9394FF432786A1844.jpg

注释

1、使用(* )注释 例如( hello world *)
2、AppleScript 2.0后可以使用 #来表示注释 例如 #!/usr/bin/osascript
3、使用--标识注释内容 列如--hello world

延续性

在AppleScript 中可以使用¬(打出该字符的快捷键option + L)来给你个完整的 appleScript语句换行而不会破坏语义的完整性
列如

display dialog "This is just a test." buttons {"Great", "OK"} default button "OK" giving up after 3

//可以写成
display dialog "This is just a test." buttons {"Great", "OK"} ¬ 
default button "OK" giving up after 3

基本数据类型

Boolean
与其他一些变成语言一样,Boolean 类型的变量的值只能是 true or false
Constant
AppleScript中的全局常量描述了可在整个脚本中使用的常量。
List
数组类型,写法{1,6,"hello",4.5}。

  • 一个数组可以包含另一个数组。(可以创建多维数组)
  • 空数组 {}

Number
数字文字是一系列数字,可能包括其他字符,例如一元减号,句号(实数)或“E +”(指数表示法)。以下是一些数字文字:

-94596
3.1415
9.9999999999E+10

Record
Record是标记属性的无序集合。Record在脚本中显示为大括号中包含的一系列属性定义,并以逗号分隔。每个属性定义都包含唯一标签,冒号和属性值。例如,以下是具有两个属性的Record

{product:"pen", price:2.34}
  • 各大编程语言中的 Dictionary

Text
字符串

Operators

(+ - * /)等操作符。AppleScript 中完整操作符介绍

Variables(变量)

set myName to "John"
copy 33 to myAge

将值赋给变量的语句称为赋值语句。

当AppleScript遇到变量时,它会通过获取其值来评估变量。变量包含在脚本中,当您关闭包含它的脚本时,它的值通常会丢失。

AppleScript变量可以保存任何类的值。例如,您可以将整数值17分配给变量,然后将布尔值true分配给同一个变量

Expressions(表达式)

表达式是具有值的任何词汇元素系列。表达式在脚本中用于表示或派生值。最简单的表达式(称为文字表达式)是脚本中值的表示。更复杂的表达式通常包含文字,变量,运算符和对象说明符。

运行脚本时,AppleScript会将其表达式转换为值。此过程称为评估。例如,当计算以下简单表达式时,结果为21:

3 * 7 --result: 21

对象说明符指定查找另一个对象所需的部分或全部信息。例如,以下对象说明符指定命名文档:

document named "FavoritesList"

更多关于表达式的内容

Statements(语句)

语句是一系列遵循特定AppleScript语法的词法元素。语句可以包括关键字,变量,运算符,常量,表达式等。

每个脚本都包含语句。当AppleScript执行脚本时,它会按顺序读取语句并执行其指令。

控制语句是确定何时以及如何执行其他语句的语句。 AppleScript定义了标准控制语句,如if,repeat和while语句,这些语句在“控制语句参考”中有详细描述。

一个简单的陈述是可以写在一行上的陈述:

set averageTemp to 63 as degrees Fahrenheit

Note: You can use a continuation character (¬) to extend a simple statement onto a second line.

复合语句写在多行上,可以包含其他语句,并在其最后一行中包含单词end(跟随,可选地,由语句的第一个单词)。例如,以下是复合tell语句:

tell application "Finder"
    set savedName to name of front window
    close window savedName
end tell
  • 符合语句可以包含其他的复合语句

Commands(命令)

命令是AppleScript语句中用于请求操作的单词或一系列单词。每个命令都指向一个目标,该目标是响应该命令的对象。目标通常是应用程序对象或macOS中的对象,但它也可以是脚本对象或当前脚本中的值。

以下语句使用AppleScript的get命令获取窗口的名称;目标是Finder应用程序的前窗口:

get name of front window of application "Finder"

了解更多的命令语句可以查阅

Results(结果)

语句的结果是执行语句时生成的值(如果有)。例如,执行语句3 + 4会产生值7.将myText设置为“keyboard”的语句的结果是文本对象“keyboard”。结果可以是任何类。 AppleScript将结果存储在AppleScript Constant中描述的全局可用属性结果中

Raw Codes(原始代码)

使用脚本编辑器打开,编译,编辑或运行脚本时,您可能偶尔会看到用双尖括号或V形符号括起来的术语(«»),在脚本窗口或另一个窗口中。这些术语称为原始格式或原始代码,因为它们代表基础Apple事件代码 AppleScript用来表示脚本术语。

为了与亚洲国家编码兼容,“”和“”“允许作为”«“和”»“的同义词(美国键盘上分别为Option- \和Option-Shift- \),因为后者可以在某些亚洲编码中不存在。

你可能感兴趣的:(初识AppleScript)