[Ruby] WIN32OLE_VARIANTのメソッド
WIN32OLE_VARIANTで、VT_ARRAYのときだけは、配列なので、
[]メソッドと[]=メソッドが使えるようになっている。
実装方法としては、
VT_ARRAYのときだけ、WIN32OLE_VARIANTオブジェクトの
シングルトンメソッドとして定義。
WIN32OLE_VARIANTのインスタンスメソッドとして定義しておいて、VT_ARRAY
以外のときは、NoMethodError などの例外を raise する。
最初から、VT_ARRAYとそれ以外でクラスを分ける。
などを考えた。
試しに、trunkでは、1.を採用してみたのだけど、2. の方が
WIN32OLE_VARINAT.instance_methods
としたときにメソッドの存在がわかるので、ユーザーに優しくて良いかも。
1. はRubyっぽくなくてJavaScriptっぽいかもしれない。
| 固定リンク
この記事へのコメントは終了しました。
コメント