我必须编写一个纯对象Smalltalk程序,我需要在其中评估条件,直到其中一个失败。我知道在C中,我们可以使用&&
运算符,只有在必要时才会对条件进行评估。
Smalltalk中有类似内容吗?
答案 0 :(得分:7)
使用&
消息或and:
消息可以实现条件“和 ing”。
firstBooleanExpression & secondBooleanExpression
ifTrue: [ 'do something' ].
如上所示使用&
,无论前半部分是评估为secondBooleanExpression
还是true
,都会评估条件的第二部分(false
)。
(firstBooleanExpression and: [secondBooleanExpression])
ifTrue: [ 'do something' ].
另一方面,使用and:
,仅在前半部分评估为true
时才评估第二部分。通常你会使用这个表格,除非你明确想要评估下半部分。
同样的原则适用于or:
。