2016-04-27 59 views
0

我已经编程下列访问方法:如何在Smalltalk中打印getter方法的结果?

name 
    "comment stating purpose of message" 
    ^name. 

age 
    "comment stating purpose of message" 
    ^age. 

name:aName 
    name:=aName. 

age: aNumber 
    age:=aNumber. 

的问题是,当我做在菲罗转录或游乐场以下:

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

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

它仅显示消息:

"Transript" 
self 

在操场上

wha我做错了吗?

+2

你是什么意思:“显示消息自我”?根据你的代码,成绩单应该显示'p name'的结果 – Uko

回答

3

这听起来好像你在操场上选择你的文字和做“检查它”,然后看到的在检查,这是你的最后一条消息的结果发送,即show:被送到Transcript出现和Transcript默认返回self。你根本没有在看成绩单。

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