Method: CSV::Row#delete_if
- Defined in:
- lib/csv/row.rb
#delete_if(&block) ⇒ Object
:call-seq:
row.delete_if {|header, value| ... } -> self
Removes fields from self as selected by the block; returns self.
Removes each field for which the block returns a truthy value:
source = "Name,Name,Name\nFoo,Bar,Baz\n"
table = CSV.parse(source, headers: true)
row = table[0]
row.delete_if {|header, value| value.start_with?('B') } # => true
row # => #<CSV::Row "Name":"Foo">
row.delete_if {|header, value| header.start_with?('B') } # => false
If no block is given, returns a new Enumerator:
row.delete_if # => #<Enumerator: #<CSV::Row "Name":"Foo">:delete_if>
476 477 478 479 480 481 482 |
# File 'lib/csv/row.rb', line 476 def delete_if(&block) return enum_for(__method__) { size } unless block_given? @row.delete_if(&block) self # for chaining end |