if() 方法的形式:
if(<condition>, <do message>, <else do message>)
例子:
if(a == 10, "a is 10" print)
else 参数是可选的. 如果条件表达式执行为 false 或者 nil,都被视作 false。
执行结果也可以返回:
if(y < 10, x := y, x := 0)
和如下形式一样:
x := if(y < 10, y, 0)
条件可以这样用:
if(y < 10) then(x := y) else(x := 2)
支持 elseif():
if(y < 10) then(x := y)
elseif(y == 11) then(x := 0) else(x := 2)
支持 Smalltalk 风格的 ifTrue, ifFalse, ifNil 和 ifNonNil 方法:
(y < 10) ifTrue(x := y) ifFalse(x := 2)
条件表达式必须用圆括号括起来.
我们来尝试一下
// if 条件表达式
x := 100
y := 200
z := -100
if(x<y, "100 < 200" println, "100 > 200" println)
if(z<0, return (z .. " < 0") println)
> io ex17.io
100 < 200
-100 < 0
胜利在望,马上就是最后一个练习