お世話になっております。 A.中村です。

On Mon, 13 Dec 1999 18:37:17 +0900
"NAKAMURA, Hiroshi" <nakahiro / sarion.co.jp> wrote:

># http://msdn.microsoft.com/library/psdk/winbase/clipbrd_3a43.htmでも,これ以上抽象化するのはちょっと無理なんじゃないかなぁ.テキスト以外のデータは張り込めないようにしてしまうなど,機能を削るということなら可能かもしれませんが.

Clipboardってデータのtypeを「登録」するわけですね。
delphiのClipboardオブジェクトのソースの感じからして、適当な名前で
登録をかけるか、登録済みの名前を流用するか、どっちかすれば
任意のバイト列についてClipboardが扱えるんでわ。
delphiの objectを保存するために"Delphi Component"って名前で
登録をかけている模様。
Rubyだと登録名は"Ruby #{hoge.type}"ってとこでしょか。
"Ruby Object"のほうがいいのかな。

あるいは、保存「される」オブジェクトの側でも
なにがしかの協力をするとか。
printみたいに対象オブジェクトをto_sすることにするとか、
逆に対象オブジェクトの側がtypeについての情報を持つことにするとか。


openの第一引数ってファイル名、つまりいわば「インスタンス名」ですよね。
インスタンス名必須のIOがアリなら、クラス(type)名必須のIOもアリでも
悪いと言える理由はないように思います。
たまたまunixなファイルにtypeという概念がないだけ。
ん、そういやMacなんてのもあったなあ。

Clipboardにインスタンス名がない(つまり一個しかない)のは
悲しいがそれはさておき。