[Ruby] WIN32OLE と Enumerable
select と find が ExcelのRangeのメソッドと重なると書いたら、
[ruby-talk:217240] と返事があった。
blockがあるかないかで判断するというのは悪くないとは思う。
事実、自分もちょっと同じ事を考えたし。
でも、Enumerable#max などは blockがなくてもいいので、
blockで判断するというのは、あまりに場当たり的な気がする。
あと、selectの場合は、blockの有無でメソッドの動作が変わってしまうのも気になる。
(Enumerable#selectはcellオブジェクトの配列を返し、
Range.selectは、Rangeを選択状態にする。)
Enumerableをincludeしない。
やりたい人は自己責任で勝手にやって。
というのと
Enumerableをincludeする。
回避は自分でやってね。
とどちらがいいだろうか。
大文字のメソッドをRubyが認めるというのが前提になるのだが、
Range.selectや、Range.findを使いたい時は、
Select, Findとメソッドの最初を大文字にすれば、とりあえず回避できる。
今の気分は、Enumerableをincludeしない方が勢いをもり返しつつある感じ。
どうしようかなあ。
| 固定リンク
この記事へのコメントは終了しました。
コメント