通常,一个脚本是逐行读取和执行的,但是有各种各样的控制
结构来影响执行流程。
s} UjGFP if 命令允许在满足给定条件的情况下执行其他语句。
R:e<W/P" 例子:
e,F1Xi#d if a < 0 then
Q1O}ly}JS show "a is negative!"
6-yd](" 建议在新的行中开始 then 部分,并使用一些缩进以提高清晰度。此外,还可以添加一
uw[<5 个在条件未满足时执行的 else 部分:
iF-6Y0~8 if a < 0 then
=yr0bGy`- show "a < 0 !!!"
6+.uU[x@ else
mef<=5t show "Ok"
C\/xl#e<@ 可以使用 begin 和 end 之间的块,而不是单个命令:
ud xZ0 if a < 0 then
G;v8$)Zj begin
%+8F'&X show "Problem: a < 0"
WM| dKF
b := 0
tk!t
Y8j end
xC*6vH]? else
w[9|cgCY begin
As 3.Q(#Z b := sqrt(a)
mQCeo}7N5 show "Ok"
56+s~hG end
lsNrAA%m 注意,begin 和 end 应该总是单独出现在一行中。此外,在“then”后面可以有一个命令,也可以没有任何命令,但不只是一个注释。
+=q$ x Ia 在下文中,我们将“statement”一词用于以下内容之一:
- 单一命令
- begin 和end之间的一组命令
- 控制结构
对于“for”语句,可以对给定范围的每个值解释一次以下语句。例子:
]w;rfn9D for x := 1 to 10 do show x, ", ", sin(x):f6
+W:=e,= 将使用不同的 x 值执行 show 命令。循环命令可以位于同一行(如上所述)或下一行(最好使用缩进以提高可读性,或者在 begin 和 end 之间可以有一个命令块)。
Wc,~ { 后者的一个例子:
yRSTk2N@ y := 0
#JgH}|&a$ for j := 0 to 10 do
KNS.Nw7 begin
g#F?!i-[F x := sqrt(j)
h\5OrD@L y := y + x
\R|4( +]x show x:d3, ", ", y:d3
&