第四节 属性
定义属性的语句如下:
property Label : value
其中,Label为属性的标签(相当于变量的名称),value为属性值。
请注意,这个语句不是用来赋值的,而是用来初始化一个属性的! 属性的引用和修改方法和变量是一致的,比如set用来赋值。
属性和变量的区别
property countTimes : 0
set countTimes to countTimes + 1
display dialog "这是第" & countTimes & "次运行本脚本"
第五节 预定义变量
result:记录最近一个命令执行的结果,如果命令没有结果,那么将会得到错误
it:指代最近的一个tell对象
me:这指代段脚本。用法举例path to me返回本脚本所在绝对路径
tab:用于string,一个制表位
return:用于string,一个换行
第六章 流程控制语句
第一节 Tell语句
Tell语句是最早接触且最重要的流程控制语句。它的作用是指明脚本要控制的程序对 象。Tell语句具有两种语法。
简单形式:tell referenceToObject to statement
复合形式:以tell referenceToObject开始,end tell结尾。中间包含命令语句。
第二节 条件语句If
If语句用于在满足一定条件的情况下执行语句,或者依据条件实现程序流程跳转。
简单形式:if boolean then statement
复合形式: if boolean1 then
statement1
else if boolean2 then
statement2
else
statement3
end if
set mark to 99 --修改这里的数据来观察结果
if mark ≥ 60 and mark < 80 then
set response to "You passed the exam"
else if mark ≥ 80 then
set response to "Congratulations! You're smart"
else
set response to "Sorry. You failed"
end if
display dialog response
第三节 循环语句
退出循环的命令
退出循环的命令非常简单,四个字母:exit(完整的为exit repeat)。请牢记
无限循环
repeat
--do something
end repeat
限定次数循环
repeat n times --do something
end repeat
“直到”循环
repeat until boolean
-- do something
end repeat
循环将反复执行,直到boolean为真!也就是说,boolean为假的时候循环执行,一旦
boolean为真,退出循环。
“当”循环
repeat while boolean
-- do something
end repeat
在boolean为真时,循环反复执行,一旦boolean为假退出循环。
当循环和直到循环在一定意义上是正好相反的。
变量循环
repeat with loopVariable from startValue to stopValue by stepValue
--do something
end repeat
其中stepValue可省略,省略时为默认为1;loopVariable无需事先定义。 其执行流程如下图,请注意各个变量的用途
*List类型数据循环
这个循环较为复杂,需要读者自己进一步探索,请焦急的读者略过此部分
repeat with loopVariable in list
--do something
end repeat
其中loopVariable无需事先定义,list是List型或者Record型数据。
在循环体中,loopVariable将依次得到item 1 of list, item 2 of list....这样的指针(指向 list中的第几项)。
请特别注意是指针!如果要得到list中的具体内容,使用contents of loopVariable来获得。
在这个循环里,循环体将执行和list项目数量一样的次数。
定义属性的语句如下:
property Label : value
其中,Label为属性的标签(相当于变量的名称),value为属性值。
请注意,这个语句不是用来赋值的,而是用来初始化一个属性的! 属性的引用和修改方法和变量是一致的,比如set用来赋值。
属性和变量的区别
property countTimes : 0
set countTimes to countTimes + 1
display dialog "这是第" & countTimes & "次运行本脚本"
第五节 预定义变量
result:记录最近一个命令执行的结果,如果命令没有结果,那么将会得到错误
it:指代最近的一个tell对象
me:这指代段脚本。用法举例path to me返回本脚本所在绝对路径
tab:用于string,一个制表位
return:用于string,一个换行
第六章 流程控制语句
第一节 Tell语句
Tell语句是最早接触且最重要的流程控制语句。它的作用是指明脚本要控制的程序对 象。Tell语句具有两种语法。
简单形式:tell referenceToObject to statement
复合形式:以tell referenceToObject开始,end tell结尾。中间包含命令语句。
第二节 条件语句If
If语句用于在满足一定条件的情况下执行语句,或者依据条件实现程序流程跳转。
简单形式:if boolean then statement
复合形式: if boolean1 then
statement1
else if boolean2 then
statement2
else
statement3
end if
set mark to 99 --修改这里的数据来观察结果
if mark ≥ 60 and mark < 80 then
set response to "You passed the exam"
else if mark ≥ 80 then
set response to "Congratulations! You're smart"
else
set response to "Sorry. You failed"
end if
display dialog response
第三节 循环语句
退出循环的命令
退出循环的命令非常简单,四个字母:exit(完整的为exit repeat)。请牢记
无限循环
repeat
--do something
end repeat
限定次数循环
repeat n times --do something
end repeat
“直到”循环
repeat until boolean
-- do something
end repeat
循环将反复执行,直到boolean为真!也就是说,boolean为假的时候循环执行,一旦
boolean为真,退出循环。
“当”循环
repeat while boolean
-- do something
end repeat
在boolean为真时,循环反复执行,一旦boolean为假退出循环。
当循环和直到循环在一定意义上是正好相反的。
变量循环
repeat with loopVariable from startValue to stopValue by stepValue
--do something
end repeat
其中stepValue可省略,省略时为默认为1;loopVariable无需事先定义。 其执行流程如下图,请注意各个变量的用途
*List类型数据循环
这个循环较为复杂,需要读者自己进一步探索,请焦急的读者略过此部分
repeat with loopVariable in list
--do something
end repeat
其中loopVariable无需事先定义,list是List型或者Record型数据。
在循环体中,loopVariable将依次得到item 1 of list, item 2 of list....这样的指针(指向 list中的第几项)。
请特别注意是指针!如果要得到list中的具体内容,使用contents of loopVariable来获得。
在这个循环里,循环体将执行和list项目数量一样的次数。