[Newbies] Where is the setter for self?
btc at openInWorld.com
Sat Jun 2 07:29:20 UTC 2012
Chris Cunnington wrote:
> Yea, I'm not asking this very well. And all things Renggli make my
> head spin.
> In image2, if I inspect the string 'bob' I see self contains a string
> called 'bob'. It does not say "a ByteString", which to me means the
> usual behaviour has been overtaken by something else. We don't get an
> instance; we get only its return value. The instance "a ByteString"
> was no longer as important as its return value.
> In image1, Lukas has overwritten Object>>printString: in
> SUObject>>printString:. And he's using a pattern ("composite with
> language in Smalltalk.
> If I print "SUSlider new" I don't get "a SUSlider". I get a string of
> "SUSlider new" I can see in self the string that will be produced. I
> can also see in the decoration instance variable "a SUCreate". With
> each decoration in the chain he makes the string in self gets longer.
> If I execute that entire piece of code from "SUSlider new" down to
> If how I'm asking this is still really confusing, I'll have to sit on
> it for a few days. I seem to do my best comprehending when I'm asleep.
You may already understand the cascade of message sends, or it may be
confounding your understanding. That is, if you are incrementally
inspecting from "X := SUSlider new" up to each next semi-colon and
seeing each Inspector pointing at a different object, since "new" is
executed each time. Just to round out your understanding of self try
"Do It" separately on each the following lines...
x := SUSLider new new Control.Slider(null,null) inspect
x handleId: 'handle'
x trackId: track
x value: position
x range: (0 to: 100)
x onChange: ( SUUpdater new id: 'position' )
More information about the Beginners