- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
a > b
ifTrue:[ 'greater' ]
ifFalse:[ 'less or equal' ]
我的理解是, bool a > b 接收消息 ifTrue:[ 'greater' ],然后 ifFalse:[ 'less or equal' ] 符合泛化:
objectInstance selector; selector2
但是需要一个分号来指定selector2的接收者不是(objectInstance选择器)而是objectInstance。是不是和上面的条件执行一样?
最佳答案
该方法的选择器是Boolean>>ifTrue:ifFalse:
,这意味着它是一个带有两个参数的方法,而不是< em>两个方法,带有一个参数。
因此,要调用该方法,您可以向其发送带有两个 block 参数的消息 ifTrue:ifFalse:
。
请注意,为了方便起见,还有方法 Boolean>>ifFalse:ifTrue:
、Boolean>>ifTrue:
和 Boolean>>ifFalse:
.
关于smalltalk - 为什么 ifTrue 和 ifFalse 不用 ; 分隔在小话中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3127452/
Smalltalk 蓝皮书说编译器优化了 ifTrue:ifFalse:和 friend 使用特殊的操作码,以避免创建闭包并对实际的 bool 对象进行动态调度。 如果我正确理解了这一点,那么: o
a > b ifTrue:[ 'greater' ] ifFalse:[ 'less or equal' ] 我的理解是, bool a > b 接收消息 ifTrue:[ 'greater' ],然
在 Scala 中,我逐渐失去了 Java/C 以面向控制流的方式思考的习惯,并习惯于先获取我感兴趣的对象,然后通常应用类似 match 的东西。或 map()或 foreach()用于收藏。我非常喜
我是一名优秀的程序员,十分优秀!