Sample program
Danny Jared Epstein
dje at scs.carleton.ca
Thu Apr 2 19:35:15 UTC 1992
Danny Travis (danny at cs.ttu.edu) wrote:
> Bay sent me the following program to reverse a string of characters:
>
> _AddSlotsIfAbsent: ( | danny = () | )
>
> danny _Define: ( |
> parent* = traits oddball.
>
> reverse: str = ( | rev <- '' |
> str do: [ | :c | rev: c, rev ].
> rev ).
> | )
The first line adds a slot called "danny" to the lobby. The receiver
is "implicit self" and self is the lobby at the prompt. Since there
is no asterisk on the slot name, the "reverse:" method inside "danny"
will not be inherited by the lobby. Therefore, you must explicitly
ask for the "reverse:" method in "danny":
danny reverse: 'backwards'
This is why you got a message not understood error: you sent the
message to the lobby (probably implicitly). Of course, the reverse
method should probably have the string as a receiver rather than an
argument - Bay's code was meant to be non-intrusive.
The problem with using list methods I don't understand. Details might
help.
Good to see someone using SELF...
Danny Epstein grad(ual) student at Carleton U, Ottawa Canada
dje at scs.carleton.ca Smalltalker and occasional SELFer.
80r2.5 > 80r4 > V/Win > V/Mac > V/286 > V/DOS > C = 0
More information about the Self-interest
mailing list