起動すべきメソッドが見つからないメッセージに対処する


id:rubyco さん経由で。小飼さんの 404 Blog Not Found:Perl Monger の質問 - AUTOLOADって他でどうやるの? を受けて。shiro さんがコメント欄で示唆されているように、Smalltalk や、その影響を強く受けている Ruby などではおなじみの手法ですね。

定義(クラス Unicode のクラスメソッドとしてみました)
Unicode class >> doesNotUnderstand: aMessage
   ^ (self value: ('16r', aMessage selector allButFirst) asNumber) asString
実行したいスクリプト
| u |

u := Unicode.
World findATranscript: nil.

Transcript cr; show: u u5C0F, u u98FC, u u5F3E   " => 小飼弾 "


なお、do it(cmd/alt + d)などでの実行では「お前に喰わせるセレクタはねぇ!」ってコンパイラにしかられてしまう(その都度、スペルチェッカが起動する…)ので、ポップアップで指摘されたセレクタをそのまま選択してください。