Smalltalk Cheatsheet
Unique Features
- Object-oriented programming language
- Everything is an object, including classes and methods
- Dynamic language with a simple syntax
- Interactive development environment (IDE)
Variables
- Local variable:
| variable |
- Instance variable:
myVariable
- Class variable:
MyClass classVariable
Functions
- Method definition:
myMethod
"comment"
| variable |
variable := value.
^ variable
- Method call:
self myMethod
Loops
- While loop:
whileTrue: [expression]
- For loop:
1 to: 10 do: [:i | expression]
- Each iterator:
myCollection do: [:each | expression]
Conditionals
- If statement:
condition ifTrue: [expression]
- If-else statement:
condition ifTrue: [expression] ifFalse: [expression]
Collections
- Array:
#(item1 item2 item3)
- Dictionary:
#{key1 -> value1. key2 -> value2}
Classes
- Class definition:
MyClass subclass: [superclass]
- Class method definition:
MyClass class >> myMethod
- Class method call:
MyClass myMethod
Blocks
- Block definition:
[:variable | expression]
- Block call:
[expression] value
Exception Handling
- Try-catch statement:
[expression] on: Exception do: [:exception | expression]
Resources