Issue #3901 has been updated by Masaki S…
Status changed from Assigned to Closed
放置していてすみません。
2.2.0 では TypeErrorにすることにしました。
Feature #3901: WIN32OLE_VARIANT.new method lacks consistency
- Author: Akio T.
- Status: Closed
- Priority: Low
- Assignee: Masaki S.
- Category: ext
- Target version: next minor
=begin
WIN32OLE_VARIANT.newの引数が配列かどうかで変換可否が変わります。
一貫性が無いので気になりました。
詳細:
WIN32OLE_VARIANT.new(Kernel)はTypeError: can not convert
WIN32OLE_VARIANT from type Moduleとなります。
WIN32OLE_VARIANT.new([Kernel])は、KernelにIDispatchをラップしたWIN32OLEオブジェクトを生成します。
あるべき姿:
配列を指定した場合と同様、Rubyのオブジェクトでスカラ型に変換できないものはIDispatchのラッパーにするのが良いと思います。
ただし元々WIN32OLE_VARIANTが必要な事例が少ないので、修正する必要性については不明です。
=end