跳转到内容

BOO大全/控制结构

维基教科书,自由的教学读本

上一章:参考与物件 目录 下一章:型别转换


控制结构

[编辑]

基本的控制述句与 Python 非常类似。

a = 10
if a > 5:
    print "a was ",a
elif a > 8:
	print "a was too large!"
else:
	print "no go!"
	print "a is too small"

程式不管在 Python 或 Boo 都通用。while 回圈也是:

i = 0
while i < 10:
	if i > 5:
		print i
	if i <= 5:
		print '-'
	i = i + 1

上面的程式当然有更好的写法。 Boo 述句可以有修饰词,这让程式看起来很像 Perl。

for i in range(0,10):
	print i if i > 5
	print '-' unless i > 5

上面提到了 unless 述句,它读起来就像是 if not

a = 1
unless a == 2:
	print 'yay'

for 述句通常用来遍访集合里的所有元素:

import System.Console
s = "hello dolly"
for ch in s:
	Write(ch) if not char.IsWhiteSpace(ch)
WriteLine()

如果你不想让 Boo 与 Python 一样强制地要求缩排的话,你可以打开wsa选项

wsa选项

[编辑]

-wsa 选项打开以后,Boo 就会改用 end 来认定程式区块是否结束,语言行为会变得类似 Ruby 或 Lua。

# @compile{booc -wsa wsa.boo}
i = 0
while i < 10:
	if i > 5:
		print i
	end
	if i <= 5:
		print '-'
	else:
		print '*'
	end
	i = i + 1
end

译注:booi 也可以使用 -wsa 选项,但 booish 不行!


上一章:参考与物件 目录 下一章:型别转换