如何在Smalltalk中打印getter方法的结果?

时间:2016-04-27 18:28:39

标签: smalltalk

我编写了以下访问方法:

name
    "comment stating purpose of message"
    ^name.

age
    "comment stating purpose of message"
    ^age.

name:aName
    name:=aName.

age: aNumber
    age:=aNumber.

问题在于,当我在Pharo的成绩单或游乐场中执行以下操作时:

|p|
p:=Person new.
p name:'Milla'.
p age: 20.

p name.
p age.
Transcript show:p name.

它只显示消息:

"Transript"
self

在操场上

我做错了什么?

1 个答案:

答案 0 :(得分:3)

听起来你正在操场上选择你的文字并进行“检查”,然后看看检查员出现的内容,这是你上次发送消息的结果,即发送了show:默认情况下,TranscriptTranscript返回self。你似乎根本没有看过成绩单。

您想要做的事实上是打开一个Transcript窗口(World menu> Tools> Transcript),然后而不是“检查”它“在操场上,只是使用”做它“,并忽略你的信息发送结果 - 实际结果将显示在成绩单中,而不是在检查员中。