Joel:
> > ... I've been offline for most of a week up in the hills ...
> Welcome back! I'm jealous! ;-)
I'm being punished for it now by having to reinstall everything on the
machine from the opsys upwards. I guess it got jealous too and trashed itself.
> > ... If you take this object...
> > myob: make object! [
> > var1: 0
> > var2: 10
> > print ["object initialized"]
> > func1: [] [print "func 1 called"]
> > ]
> >
> > ...the two var assignments and the print statement will be
> > executed as part of the object initialization.
> But not when one uses MYOB as a prototype, as in
otherob: make myob
There's some oddity going on here -- no doubt explained in the core manual
(which I didn't have backed up, and haven't yet redownloaded). The
"initialization" code gets executed and then stripped out as part of building
the object. The result of making an object is a series of assignments only,
as this example shows:
myobj1: make object! [
var1: []
print "initialize"
do [append var1 now/precise]
func1: [] [print "func1"]
]
probe myobj1
myobj2: make myobj1 []
probe myobj2
The 'Do and 'Print are executed during
myobj1: make object! [...]
but do not survive into the object itself. So that code does not get executed
in
myobj2: make myobj1 []
That wasn't what I was expecting to see -- so thanks for pointing it out.
There's no obvious workaround that I can see.
Sunanda.
--
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the
subject, without the quotes.