Smalltalk 编程/控制
外观
方法中程序流通过 [模块] 来管理。模块是一个包含一些 smalltalk 代码的对象,可以通过向它发送方法来完成任何需要的程序流。在单个方法体外,程序流通过将相同的方法发送到不同的对象来决定;经典的例子是将圆形分别发送至监视器、打印机或 X/Y 绘图仪。
请随意用其他东西替换以下示例,使其更不...无意义。
1 to: 5 do: [num| transcript print:num]. - 将流控制方法(比如 to:do:)放入 Number 类中看起来可能有点奇怪,但它使得表达更加容易。
num > 5 ifTrue: [num:=1] ifFalse: [num:=num+1]. - 随意地将 ifTrue 和 ifFalse 分开到不同行。
[num < 5 ] whileTrue: [num:=num+1. transcript print:'embiggen!']. 是的,模块可以是一个语句中的开场对象。