在 ProfStef 的第 17 课中,我被困在了上面的命令上。
“尝试通过一连串的两条‘下一个’消息进入下一课:”
这些的正确答案是什么?
这是级联语法的示例。当您想要向同一个接收者对象发送两个(或更多)消息时,可以使用此语法:
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
这更冗长。另请注意,消息可以具有任意数量的参数。最后说如果级联的话答案就是最后一条消息的答案。