> I was really in a hurry when I wrote this stuff. The class function I
> included was untested and incorrect. The corrected version is:
>
> class: func [ default! [object!] spec [block!] ] [
> set [_ private-block _ published-block _ public-block] spec
> return make default! [
> if private-block [private: make object! private-block]
> if published-block [published: make object! published-block]
> if public-block [public: make object! public-block]
> ]
> ]
>
> A better version is:
>
> class: func [[catch] default! [object!] spec [block!] /local
> class-spec] [
> class-spec: make block! 6
> foreach [section definition] spec [
> either block? definition [
> insert class-spec compose/deep [
> (to set-word! section) make object! [(definition)]
> ]
> ][
> throw make error! join {Expected definition of type block!.
> Received } [mold definition " of type " mold type? definition "
> instead."]
> ]
> ]
> return make default! class-spec
> ]
>
> The second version is more flexible in that it permits spec blocks that
> exclude any or all of the exposure signifiers (public, published, or
> private), the declarations may occur in any order, and it catches
> incorrect definitions.
>
> Hope this helps,
[Thanks, Elan, for this contribution.
I will try to publish on a regular base the results I get.
I will try to find a way to bypass the standard REBOL inheritence
mechanism so I can implement private functions.
BTW, I went to your site this sunday. Great look ! I like the letter
type you use ;-)
Kind Regards,
chr== ]
> Elan
> --
> To unsubscribe from this list, please send an email to
> [EMAIL PROTECTED] with "unsubscribe" in the
> subject, without the quotes.
--
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the
subject, without the quotes.
[REBOL] Re: Private Object Function
CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN Mon, 22 Jan 2001 10:24:31 -0800
- [REBOL] Re: Private Object F... CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN
- [REBOL] Re: Private Object F... CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN
- [REBOL] unsubscribe Petter Egesund
- [REBOL] Re: Private Object F... CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN
- [REBOL] Re: Private Object F... CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN
- [REBOL] Re: Private Obj... Andrew Martin
- [REBOL] Re: Private Obj... Elan
- CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN
