Smalltalk - Побережье, Магритт: "описание объекта" с исключением "MessageNotUnderstood"

Я работаю через Приморскую книгу ( http://book.seaside.st/). В настоящее время я занят главой о Магритте.

Я следовал шагам первого примера ( http://book.seaside.st/book/advanced/magritte/first-examples), но когда я пытаюсь проверить описание объекта, я получаю MessageNotUnderstood: Address >> descriptionStreet.

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

Если я правильно понимаю:

Обратите внимание, что нет необходимости иметь однозначное соответствие между переменными экземпляра класса и связанными описаниями.

Все описания автоматически собираются и помещаются в описание контейнера при отправке описания объекту.

нет необходимости в селекторе "описание" в моем классе адресов? Почему я получаю ошибку?

2 ответа

Решение

Приморская книга устарела.

В Magritte3 вы используете не "описание", а "описание".

Если вы следуете книге, вы также столкнетесь с проблемами позже, когда Форма не будет отображаться. В Magritte3 вы должны добавить прагму к методу описания, а методы описания должны быть на стороне экземпляра, а не на стороне класса, как указано в книге.

Смотрите эту ссылку: http://www.slideshare.net/nickager/magritte3

Современное описание улицы может выглядеть так

Address>>descriptionStreet
    <magritteDescription>
    ^ MAStringDescription new
        accessor: #street;
        label: 'Street';
        priority: 250;
        yourself
Другие вопросы по тегам