36 ;;Quote: Smalltalk messages contain a receiver, selector and arguments
|
36+;;Quote: Smalltalk identifies keyword selectors by a trailing colon; concatenates them
|
36 ;;Quote: the selector of a Smalltalk message can be keywords before each argument
|
37+;;Quote: Smalltalk message invokes a method according to the receiver's class
|
37 ;;Quote: the result of a Smalltalk message (an object) can be a receiver or argument of another message
|
37 ;;Quote: unary Smalltalk messages can be composed into readable expressions
|
37 ;;Quote: binary Smalltalk messages by sending selector operator and second argument to first argument
|
37 ;;Quote: in Smalltalk, precedence order is unary, binary, keyword, left to right with parentheses
|
37 ;;Quote: a cascaded Smalltalk message is a selector/argument list separated by semicolons
|
39+;;Quote: Smalltalk actions (in a method) consist of sending messages, assigning variables, and returning a value
|
39 ;;Quote: a Smalltalk method describes actions for a selector received by an instance of a class
|
41 ;;Quote: Smalltalk classes start with uppercase while variables are lowercase
|
41 ;;Quote: a Smalltalk method consists of a message pattern, temporary variables, and a list of expressions
|
41 ;;Quote: a message pattern for a Smalltalk method consists of a selector for matching and parameters for arguments
|
42 ;;Quote: 'self' is a Smalltalk variable for referencing the receiver of the message; it can't be modified
|
43 ;;Quote: Smalltalk class variables are shared by the class and all its instances
|
43 ;;Quote: Smalltalk class variables are usually used as initialized constants
|
43 ;;Quote: Smalltalk global variables are shared by all objects; includes all classes
|
43 ;;Quote: most global Smalltalk variables are used for system resources; their use is otherwise discouraged
|
43 ;;Quote: a Smalltalk method either returns 'self' or value of last expression (up-arrow)
|
43 ;;Quote: Smalltalk comments are strings delimitated by double quotes
|
43 ;;Quote: a Smalltalk subclass inherits the instance variables and methods of its superclass
|
43 ;;Quote: a Smalltalk subclass can override a method in its superclass
|
43 ;;Quote: every Smalltalk class, except Object, has a superclass
|
44 ;;Quote: use 'super' to access overridden methods of a Smalltalk class
|
44 ;;Quote: a Smalltalk metaclass describes a class; a class's instance variables describes an instance; 'new' creates a new instance
|
44 ;;Quote: there is no semantic difference between class and instance messages; distinction is for organization
|
45 ;;Quote: a Smalltalk primitive routine is marked by '' and written in an implementation language
45 ;;Quote: a successful Smalltalk primitive exits the method; otherwise evaluate the remaining expressions
| 45 ;;Quote: Smalltalk indexed variables accessed by at: and at:put: selectors
| 46+;;Quote: a Smalltalk block is indicated by square brackets
| 46 ;;Quote: a Smalltalk block defers execution until it is sent 'value' or 'value:'
| 46 ;;Quote: Smalltalk has primitive control messages for selection and conditional iteration
| 46 ;;Quote: Smalltalk uses 'false' and 'true' objects for control; 'false' ignores 'ifTrue:' and evaluates 'ifFalse:'
| 46 ;;Quote: example of 'whileTrue:' method in Smalltalk
| 46 ;;Quote: Smalltalk allows a block's variables to take a sequence of values
| |