gpt4 book ai didi

smalltalk - 为什么 ifTrue 和 ifFalse 不用 ; 分隔在小话中?

转载 作者:行者123 更新时间:2023-12-02 14:42:04 25 4
gpt4 key购买 nike

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com