[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しない方が勢いをもり返しつつある感じ。 どうしようかなあ。
| 固定リンク | コメント (0) | トラックバック (0)

最近のコメント