Smalltalk - Seaside,Magritte:"对象描述"给予" MessageNotUnderstood"例外

时间:2015-02-17 09:42:31

标签: smalltalk pharo seaside

我正在通过海边书(http://book.seaside.st/)。我现在正忙着关于马格利特的章节。

我按照第一个示例的步骤(http://book.seaside.st/book/advanced/magritte/first-examples)但是当我尝试检查对象的描述时,我得到MessageNotUnderstood:Address>> descriptionStreet。

|address|
address := Address example1.
address description.

如果我理解正确的话:

  

请注意,不需要在。之间进行一对一的映射   类的实例变量和相关描述。

     

自动收集所有描述并将其放入容器中   向对象发送描述时的描述

我的Address类中不需要“description”选择器吗?为什么我收到错误?

2 个答案:

答案 0 :(得分:3)

海边书已经过时了。

在Magritte3中,您不使用“description”,而是使用“magritteDescription”。

如果您正在阅读本书,您将在以后使用表格不呈现时遇到问题。在Magritte3中,你必须将pragma添加到描述方法中,描述方法应该在实例端,而不是在本书中指出的类侧。

请参阅此链接:http://www.slideshare.net/nickager/magritte3

答案 1 :(得分:1)

街道的现代magritte描述可能如下所示

Address>>descriptionStreet
    <magritteDescription>
    ^ MAStringDescription new
        accessor: #street;
        label: 'Street';
        priority: 250;
        yourself