Off list Nicolas suggested using #build: which is just a wrapper method calling #value:. With it, Joachim's #contents message would look like

contents [
        ^[ :e |
e build: self headerContent;
                add: menu build;
                break;
                build: self mainContent;
                build: self footerContents.
        ]
    ]


My reply is...

Even better for me would be:

Element >> build: aBuildable
        <category: 'building'>
        aBuildable buildOn: self

BlockClosure >> buildOn: anElement
        <category: 'building (Iliad)'>
        self value: anElement

Widget >> buildOn: anElement
        <category: 'building'>
        e add: self build

and then keeping the block structure for #contents, like

    contents [
        ^[ :e |
            e
                build: self headerContent;
                build: menu;
                break;
                build: self mainContent;
                build: self footerContents.
        ]
    ]

Paolo


_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to