沐风白桦

大圣休得胡闹

AppleScript:循环

| Comments

AppleScript是一个比较接近自然语言脚本语言,习惯了传统编程的程序猿一时还真难以适应这种表达和思考方式,不过了解其中的规律后,你就会发现AppleScript其实是一种非常容易、非常生活化的编程语言。在这篇文章里面着重介绍循环控制指令。

在Applescript里面实现循环效果就要使用repeat命令,结合不同的关键字又有不同的循环控制效果。尽管如此,在任何时候想结束循环的地方使用exit命令则可随时退出。

repeat

该命令执行无限循环,直至执行遇到exit [repeat]命令

repeat
1
2
3
4
5
6
set var to 0
repeat
  if var  100 then
      exit repeat
  end if
end repeat

repeat n [times]

该命令执行n次循环,除非遇到exit [repeat]命令

repeat ... times
1
2
3
4
5
set var to 0
repeat 5 times
  set var to var + 1
  log var
end repeat

repeat until condition

该命令执行循环直至until条件成立,除非遇到exit [repeat]命令

repeat until ...
1
2
3
4
5
set var to 0
repeat until var  100
  set var to var + 1
  log var
end repeat

repeat while condition

该命令执行循环只要while条件成立,除非遇到exit [repeat]命令

repeat while ...
1
2
3
4
5
set var to 0
repeat while var < 100
  set var to var + 1
  log var
end repeat

repeat with var from start to end [by step]

该命令执行循环只要while条件成立,除非遇到exit [repeat]命令

repeat with var from ... to ... by ...
1
2
3
repeat with var from 0 to 100 by 5
  log var
end repeat

如果by参数没有,则默认var每个循环+1

repeat with var from ... to ...
1
2
3
repeat with var from 0 to 100
  log var
end repeat

repeat with var in list

该命令可以实现列表遍历的效果,除非遇到exit [repeat]命令

repeat with var in ...
1
2
3
4
set _list to {1, 2, 3, 4, 5, 6, 7}
repeat with var in _list
  log var
end repeat

Comments