Project

General

Profile

Feature #11267

CSV::Row#field と CSV::Table#[] の引数に Range を使えるようにした

Added by takkanm (三村 益隆) over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-dev:49091]

Description

CSV を使用している際、n 行目から m 行目までを取得したいというケースがあり、Array と同じ気持ちで Range オブジェクトを渡したところ動作しないことに気づきました。

row = CSV::Row.new(%w(A B C), [1, 2, 3])
row[1..2] #=> nil

CSV::Row でのアクセスでも Range でアクセスできると嬉しいと思い実装してみました。
この修正で以下のような振る舞いになります。

row[1..2] #=> [2, 3]

同様に CSV::Table#[] でも Range を許すようにしています。


Files

csv_field_allow_range.patch (1.93 KB) csv_field_allow_range.patch takkanm (三村 益隆), 06/16/2015 01:12 PM

Updated by matz (Yukihiro Matsumoto) over 5 years ago

いいんじゃないでしょうか。コードレビュー後、問題なければコミットしてください。
中田さん?

Matz.

Updated by hsbt (Hiroshi SHIBATA) over 5 years ago

  • Status changed from Open to Assigned
  • Assignee set to hsbt (Hiroshi SHIBATA)

やっておきます

#3

Updated by hsbt (Hiroshi SHIBATA) over 5 years ago

  • Status changed from Assigned to Closed

Applied in changeset r50929.


  • lib/csv.rb: accept to use Range object for row selection. [Feature #11267][ruby-dev:49091]

Updated by takkanm (三村 益隆) over 5 years ago

ありがとうございました !

Also available in: Atom PDF