AppleScript学习笔记(四)条件语句和循环语句

本文介绍AppleScript中的条件语句与循环语句的使用方法,包括if-elseif-else结构、比较运算符及不同类型的循环语句,并提供实例帮助理解。

条件语句

if - else if - else语句块

AppleScript中的条件语句形式如下:

if 条件 then
	...
else if 条件 then 
	...
else
	...
end if

使用例如:

-- Numbers compare = <= >= /=
set num1 to 10
set num2 to 20
-- if num1 is num2 then
if num1 = num2 then
	display dialog "num1 == num2"
else
	display dialog "num1 != num2"
end if

if num1 ≥ num2 then
	1
else if num1 ≤ num2 then
	2
else
	3
end if


最简单的形式是:

if 条件 then ...

注意上面的语句必须在同一行内完成。不需要也不能有end if出现。

使用例如:

if true then set x to 1

-- error
-- if false then set y to 0 end if


比较number

关于number之间的比较符号:= , <= , >= , /=(注意不是!=)分别代表等于,小于或等于,大于或等于,不等于。

经过编译后比较符号会变成以下形式:



原书中对各种比较符号和对应的逻辑关键词列举如下:



比较string

string之间的比较使用逻辑关键词,这里就直接贴出原书的总结吧:



对于逻辑运算符用and,or,not表示与,或,非。



循环语句

循环语句有几种形式,类似于OC中的for循环,while循环,for in循环等。


repeat X times

类似于for循环的形式如下:

repeat 重复的次数 times
	...
end repeat

使用例如:

repeat 2 times
	say "repeat"
end repeat

重复次数可以是一个数字变量,例如:

set repeatTimes to 10
repeat repeatTimes times
	say "repeat"
end repeat


repeat from to by

另外一种类似for循环的形式为:

repeat with 计数变量 from 初始值 to 目标值 by 递增数
	...
end repeat

by递增数部分可以缺省,如果缺省了那么每次计数变量加1。

使用举例:

repeat with counter from 1 to 3
	display dialog counter
end repeat

repeat with counter from 0 to 10 by 2
	display dialog counter
end repeat


repeat while

类似于while循环的形式1:

repeat while 条件
	...
end repeat


使用例如:

set counter to 0
repeat while counter ≠ 10
	display dialog counter as string
	set counter to counter + 2
end repeat


repeat until

形式2:

repeat until 条件
	...
end repeat


使用例如:

set counter to 0
repeat until counter = 10
	display dialog counter as string
	set counter to counter + 2
end repeat


repeat in

当然你可能猜到了,还有类似于for in循环的语句,可以用来遍历列表。形式如下:

repeat with 单个元素 in 集合
	...
end repeat

使用例如:

set aList to {1, 2, 3}
repeat with anItem in aList
	display dialog anItem as string
end repeat


有了条件语句和循环语句,可以按我们的逻辑思维去写代码了。

更多详细内容请参考《AppleScript for Absolute Starters》一书(中文名为《苹果脚本跟我学》)。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值