http://wiredvision.jp/blog/masui/200803/200803030100.html
via inforno :: 日本語プログラミング言語Scala
Ruby もいいけど Smalltalk でも、おk。 - Smalltalkのtは小文字です
勉強がてらIoでもやってみた。
こんな感じです
Io> 100の平方根の逆数を表示する 0.1==> 0.1
なんとスペースも要りません!すごい!
こんなソースです。
Object 100の平方根の逆数を表示する := method( (1 / (100 sqrt)) print )
ごめんなさい。嘘です。
真面目にやるとこんな感じのができます。
Io> 100 の平方根 の逆数 を表示する 0.1==> 0.1 Io> 100の(平方根)の(逆数)を(表示する) 0.1==> 0.1
こんな感じのソース。
Number do ( の平方根 := getSlot("sqrt") 平方根 := getSlot("sqrt") の逆数 := method( 1 / self ) 逆数 := getSlot("の逆数") ) Object do( を表示する := method( self print ) 表示する := method( self print ) ) Object setSlot("の", method( self doMessage(call message arguments pop()) )) Object を := getSlot("の")