Smalltalk - 有类似于&&和来自C?

时间:2017-02-24 08:15:37

标签: smalltalk operator-precedence

我必须编写一个纯对象Smalltalk程序,我需要在其中评估条件,直到其中一个失败。我知道在C中,我们可以使用&&运算符,只有在必要时才会对条件进行评估。

Smalltalk中有类似内容吗?

1 个答案:

答案 0 :(得分:7)

使用&消息或and:消息可以实现条件“ ing”。

firstBooleanExpression & secondBooleanExpression
    ifTrue: [ 'do something' ].

如上所示使用&,无论前半部分是评估为secondBooleanExpression还是true,都会评估条件的第二部分(false)。

(firstBooleanExpression and: [secondBooleanExpression])
    ifTrue: [ 'do something' ].

另一方面,使用and:,仅在前半部分评估为true时才评估第二部分。通常你会使用这个表格,除非你明确想要评估下半部分。

同样的原则适用于or: