Smalltalk がわかった気になる?
えーと.Smalltalk に入門してみたので,忘備録的にエントリを書いてみた.
- *.im(最初は,visualnc.im とか?) をバックアップしておくといいかも.
- とあいえ,VisualWorks 側からどうやってロードすんだっけ?
クラス,メソッドは,パッケージ,プロトコルに絶対所属するみたい
- Package(class category) > Class
- Protocol(message category) > Method
オブジェクト,メッセージ
- anObject message "anObject に message メッセージを送る"
- anObject keywordMessage1: aSubject1
- anObject keywordMessage1: aSubject1 keywordMessage2: aSubject2
キーワードメッセージはメッセージの最後に':'(コロン)が付く.
コメントは,"",文字列は,''
あと,行の区切りは'.'(カンマ)
代入は,':='
ローカル変数は,||(パイプ)で作る.
配列は,#(1 2 3) みたいな感じ.
左結合 3 + 4 * 5 "=> 35"
ブロック
- ラムダ?
- [] で書く.
- [:aValue | aValue msg ] みたく':'(コロン)を使って,aValue という引数を指定
- ブロックの中にもローカル変数が作れる.
- 実行するときは,aBlock = [...]. aBlock value とか aBlock value: aV1 value: aV2 みたいな感じ
分岐,ループ
- anObject ifTrue: [ "真のときの処理" ] ifFalse [ "偽のときの処理" ]
- aCollection do: [:each | "繰り返し処理" ]
なんか間違ってたりしたらツッコんでくだしい.
これで,超積読のケント・ベックのSmalltalkベストプラクティス・パターン―シンプル・デザインへの宝石集 が読めるかな?
参考