diff options
| -rw-r--r-- | self.html.markdown | 16 | 
1 files changed, 11 insertions, 5 deletions
| diff --git a/self.html.markdown b/self.html.markdown index 7b1f38af..f4b5fefc 100644 --- a/self.html.markdown +++ b/self.html.markdown @@ -1,6 +1,6 @@  ---  language: self -contributors:r +contributors:      - ["Russell Allen", "http://github.com/russellallen"]  filename: self.html.markdown  --- @@ -38,13 +38,19 @@ The inbuild Self parser can construct objects, including method objects.    x <- 20.  |) -"An object which understands the method 'doubleX' which doubles the value of x and then returns the object" +"An object which understands the method 'doubleX' which  +doubles the value of x and then returns the object"  (|    x <- 20.    doubleX = (x: x * 2. self)  |) -"An object which understands all the messages that 'traits point' understands". The parser looks up 'traits point' by sending the messages 'traits' then 'point' to a known object called the 'lobby'. It looks up the 'true' object by also sending the message 'true' to the lobby." +"An object which understands all the messages  +that 'traits point' understands". The parser  +looks up 'traits point' by sending the messages  +'traits' then 'point' to a known object called  +the 'lobby'. It looks up the 'true' object by  +also sending the message 'true' to the lobby."  (|     parent* = traits point.         x = 7.         y <- 5. @@ -77,7 +83,7 @@ Returns 1, the index of 'e' in 'hello'."  Self defines flow control like Smalltalk and Ruby by way of blocks. Blocks are delayed computations of the form:  ``` -[|:x. localVar| x doSomthing With: localVar] +[|:x. localVar| x doSomething with: localVar]  ```  Examples of the use of a block: @@ -120,7 +126,7 @@ Blocks are performed by sending them the message 'value' and inherit (delegate t  # Methods -Methods are like blocks but are not within a context but are the values of slots. Unlike Smalltalk, methods by default return their final value not 'self'. +Methods are like blocks but they are not within a context but instead are stored as values of slots. Unlike Smalltalk, methods by default return their final value not 'self'.  ```  "Here is an object with one assignable slot 'x' and a method 'reduceXTo: y'. | 
