あのAlan Kayが作った歴史ある言語です。Pharoの公式サイトより開発環境がダウンロードできます。
作ったコンテンツはimageとして保存することが可能です。
入力はplayground、表示はtranscriptで表示します。smalltalkはオブジェクトに対して、メッセージを送信するものになっています。
Transcript show: 'hello'
ctl + ‘d’で実行のショートカットになっています。
改行
Transcript show: 'hello'. Transcript cr. Transcript show: 'world'
カスケード
Transcript show: 'hello'; cr; show: 'world'
inspector it 感動の領域に入ってきました。
変数
message := 'hello'. Transcript show:message.
二項メッセージ
4 + 3 factorial gcd: 5
クラスとインスタンス
t := Date today. t addDays:14.
システムブラウザ
Color browse. color :=Color random. color.
2 sqrt (5/2)asFloat 5 // 2 5 \\ 2 5 + 3 * 2
文字列、配列
$a charCode #(1 2 3)
配列
#(1 2 3) size. #(1 2 3) reverse. #(1 2 #(5, 2)). #(1 $a 'hello'). #(1 2 3),#(10, 12, 15). x:= #(2 5 8 10) x at:2. x at: 2 put: 20
ブロック
[5 + 4] value. [:x |x+2]value:2. [:x :y | x* y ]value:10 value:20. f :=[:x:y|x + y + 2]. f value:10 value 20.
条件分岐
score :80. (score > 60) ifTrue:['great!'] ifFalse:['so so...']
ループ処理
i:=1. 10 timesRepeat: [ Transcript show:i; cr.i:=i + 1].
配列の処理
#(1 3 5)do: [:each| Transcript show:each; cr ].