バックグラウンド
Smalltalkでは、明示的に何も返さない場合、渡されるメッセージは受信者(またはメッセージコンテキストでは「自己」)に評価されます。
たとえば、次の方法を考えます。
MyClass >> myMethod
Transcript show: 'hello'; cr.
これを評価する(「print-it」を行う):
| myInstance |
myInstance := MyClass new.
myInstance myMethod.
<print-it>が最後の呼び出しまで実行された場合、結果はインスタンス自体になります。
質問
- なぜこれがこのように設計されたのですか?
- その背後にある考え方は何ですか?
- 哲学的背景は何でしたか?
- それからの実際的な利点は何ですか?メソッドの連鎖を容易にするためですか?