new*_*bie 2 smalltalk operator-precedence
我必须编写一个纯对象Smalltalk程序,我需要在其中评估条件,直到其中一个失败.我知道在C中,我们可以使用&&运算符,并且只有在必要时才能对条件进行评估.
Smalltalk中有类似的东西吗?
有条件的" 和 "可以通过使用&消息或and:消息来实现.
firstBooleanExpression & secondBooleanExpression
ifTrue: [ 'do something' ].
Run Code Online (Sandbox Code Playgroud)
使用&如上显示,条件的第二部分(secondBooleanExpression)而不管所述第一半是否评估为评估true或false.
(firstBooleanExpression and: [secondBooleanExpression])
ifTrue: [ 'do something' ].
Run Code Online (Sandbox Code Playgroud)
使用and:,另一方面,所述第二部分仅被评估,如果第一半的计算结果为true.通常你会使用这个表格,除非你明确想要评估下半部分.
同样的原则适用于or:.