From: matz@... (Yukihiro Matsumoto) Date: 2000-02-09T11:34:19+09:00 Subject: [ruby-dev:9167] Re: Array#indexes(range) まつもと ゆきひろです In message "[ruby-dev:9147] Array#indexes(range)" on 00/02/07, Koretsugu Daigoro writes: |現状: | | [0, 1, 2, 3, 4].indexes(1..3) => [[1, 2, 3]] | |のところを: | | [0, 1, 2, 3, 4].indexes(1..3) => [1, 2, 3] | |となってほしいという話です。 |また、 |ary.indexes(1..2, 3) は ary.indexes(1, 2, 3) と区別できるべきか、 |という話でもあります。 | |「簡単に書きたい」よりは、 |「区別できる」とかのほうを重視すべきでしょうか。 というか、どのような意味付けをするかという問題ではないかと。 現状は def indexes(*args) ary = [] for arg in args ary.push self[arg] end end という単純な意味付けがされてます。これを | [0, 1, 2, 3, 4].indexes(1..3) => [1, 2, 3] とするためには ary.push self[arg] の部分にどのような意味を与えるかということですね。rangeを特 別扱いするという手もありますし、また別の考え方もありえるでしょ う。実装が単純な方が望ましいと思っているわけではないのですが、 引数の型で分類するのはできるだけ減らしたい気分もあります。 まつもと ゆきひろ /:|)