[SmallTalk R4.1チャレンジについて]

投稿日: Apr 01, 2009 3:10:32 PM

SmallTalkには、割といろいろな機能がまぜこぜに入っているので、ここでSmallTalk R4.1チャレンジを明確に定義したいと思います。

1. singletonチャレンジ

    すべてのクラスで有効なsigletonメソッドを提供する。ただしsingletonが呼ばれたときに、シングルトンでなかった既存のインスタンスも、すべてシングルトンにそろえなければならない。

2. gotoチャレンジ

    ラベルつきのgotoを実装する。ただし言語にあるものを使うのではなく、新たに作成しなければならない。

3. friendメソッドチャレンジ

    あるクラスのあるメソッドからのみ呼ぶことを許可するfriendメソッドと、拒否を行うenemyメソッドを実装する。詳しくはfriendメソッド, enemyメソッドを参照のこと。

4. finalクラスチャレンジ

    継承やソースの変更、クラスの削除等が行えなくなるbeFinalメソッドを実装する。quitFinalで解除できるようにする。

5. aliasチャレンジ

    既存のクラスやメソッドに別名をつけて利用できるようにする機能を提供する。ただし言語にあるものを使うのではなく、新たに作成しなければならない。

6. フィボナッチ最適化チャレンジ

    フィボナッチ数列を求めるメソッドを最適化する機能を実装する。オリジナルのソースは保たれており、ユーザからは最適化が見えないようになっていなければならない。aliasの利用は不可。

Let's do it!