ProfStef 第 17 课中如何使用级联选项?

问题描述 投票:0回答:1

在 ProfStef 的第 17 课中,我被困在了上面的命令上。

“尝试通过一连串的两条‘下一个’消息进入下一课:”

这些的正确答案是什么?

smalltalk pharo
1个回答
0
投票

这是级联语法的示例。当您想要向同一个接收者对象发送两个(或更多)消息时,可以使用此语法:

rcvr msg1.
rcvr msg2

可以缩写为

rcvr msg1; msg2

在本例中,想法是将

#next
发送到
ProfStef
两次,可以缩短为
ProfStef next; next

请注意,当接收者是一个表达式时,此语法更有意义(与接收者只是一个变量的示例相比)

<some Smalltalk expression> msg1; msg2.

如果没有这种可能性,你将不得不引入一个局部变量:

var := <some Smalltalk expression>.
var msg1.
var msg: 2

这更冗长。另请注意,消息可以具有任意数量的参数。最后说如果级联的话答案就是最后一条消息的答案。

© www.soinside.com 2019 - 2024. All rights reserved.