http://home.netsurf.de/helge.horch/esug/ な実装の Smalltalk-76 でメッセージングの考え方をレクチャーするとは斬新な! すばらしすぐる。
Array#sumとか作れたら(1,2,3) sum.は6になって('1', '2', '3') sum.は'123'になりますねー、て出来たんやろうけど、メソッドの定義の仕方がわからんかった。ブラウザ右クリックしてもなんも出てけえへんし…
http://twitter.com/uokumura/status/1797407683
メソッドは、それこそ Array へのメッセージングで定義してもいいですし(st76a9.jar の中の /sources/bootstrap.utf.txt がいろいろと参考になります)、
Array understands: 'sum | i sum [self length = 0 ⇒ [⇑0]. sum ← self•1. for% i from: (2 to: self length) do% [sum ← sum + (self•i)]. ⇑sum]'
ブラウザ(デスクトップの右クリック → Open Browser)で Array を選択したとき(メソッドは選択されてない状態)の下のコード枠に定義を記入(もしくはペースト)してから右クリック → Accept でも大丈夫です。
これで (1,2,3) sum や ('1','2','3') sum のポリモーフィズムが試せます。
(1,2,3) sum "=> 6 " ('1','2','3') sum "=> '123' "