Io Languageat TECH
Io Language - 暇つぶし2ch18:7
08/02/03 20:39:23
>>17
Sandboxなんてあったのか…
あれから考えて、こんな風にやってみた。
うまくいっているようには見える。

scope := method(
expr := call message arguments first
context := Object clone
msg := message(do)
msg setNext(expr)
context prependProto(call sender)
context forward := method( self proto doMessage(call message clone do( setNext(nil) )) )
context doMessage(msg)
)

obj := Object clone
obj l := list(1, 2, 3)
obj f := method( scope( l foreach(v, v println) ))

chk := method( "[obj] " print ; obj slotNames print ; " [v] " print ; Lobby slotNames println )

obj f ; chk
scope( obj l foreach(v, v println) ) ; chk
obj l foreach(v, v println) ; chk

scopeブロック(?)内で self がいる(self l とする)ような仕様で良ければ forward メソッドの設定は省ける。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch