バックグラウンド
すべての Smalltalk 初心者は、add:"self" を返すのではなく、追加されたオブジェクトを返すことに注意してください。
たとえば、次のコードを使用します。
myCollection := OrderedCollection new
add: 'Peter';
add: 'John';
add: 'Paul'.
myCollectionコレクション自体ではなく、文字列「Paul」が含まれます。
これは、add:追加されるオブジェクトが返され、カスケード式全体が最後に送信されたメッセージに評価されるためです。
代わりにyourself、最後に次のように記述する必要があります。
myCollection := OrderedCollection new
add: 'Peter';
add: 'John';
add: 'Paul';
yourself.
質問
- これはなぜですか?
- これは何を設計したのですか?
add:このように振る舞うことの利点は何ですか?