言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

Squeak で無名クラス

まったくこういう事をしている場合では無いのだが、なぜか遊びたくなる。Squeak で無名クラスを作る。

"まずクラスを作って強引に名前を剥奪"
class _ Object newUniqueClassInstVars: 'value' classInstVars: ''.
class environment removeKey: class name.
class setName: nil.
SystemOrganization removeMissingClasses.

"メソッドを定義する"
class methods scanFrom: 
'value
	^ value !

value: aValue
	^ value _ aValue !
' readStream.

"動くかどうか実験"
object _ class new.
object value: 'hello'.
object value inspect.

ちゃんとデバッグも出来る。健気だなあ。