: Mops ( オブジェクト指向FORTH -- ) ;
■ このスレッドは過去ログ倉庫に格納されています
0149デフォルトの名無しさん
NGNGRECURSEっていうワードを使うよん。
フィボナッチ↓
ttp://bishop.fuis.fukui-u.ac.jp/~nishino/hobby/prog/forth/fib-com.fs
FORTHはすでに存在するワードの再定義が可能なんだけど、再定義の中で
再定義する前のワードを呼び出せるように、(オーバーライドしている
メソッド中でスーパークラスの同名メソッドを呼び出す所を想像すれば良い
かと思われ)定義中のワードが辞書探索でヒットしない代わりにすでに定義
されている同名ワードがヒットするようになっている。
ヒットしない自分自身の代わりに使われるのがRECURSEというワードなわけです。
ちなみにMopsは一応、末尾再帰の最適化をやってるみたい。
■ このスレッドは過去ログ倉庫に格納されています