# Reduce three line method to one line

**URL:** <https://www.ruby-forum.com/t/reduce-three-line-method-to-one-line/129878>\
**Category:** Ruby\
**Created:** [February 22, 2008, 10:48am UTC](https://www.ruby-forum.com/t/reduce-three-line-method-to-one-line/129878 "2008-02-22T10:48:38Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![giantcranes](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ecd19e/32.png) [@giantcranes](https://www.ruby-forum.com/u/giantcranes)\
**Post date:** [February 22, 2008, 10:48am UTC](https://www.ruby-forum.com/t/reduce-three-line-method-to-one-line/129878/1 "2008-02-22T10:48:38Z")

</div>

Hi,

I am trying to get the following method down to 1 line so that I can  
lazy-load it.

def get\_category\_data(category\_id)  
rows = []  
FasterCSV.parse(@data) { |row| rows \<\< row if row[0] == category\_id }  
rows  
end

I’m sure that there a few ways to do it in ruby, any pointers would be  
much appreciated.

Thanks,  
GiantCranes

---

<div class="post-metadata">

**Author:** ![giantcranes](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ecd19e/32.png) [@giantcranes](https://www.ruby-forum.com/u/giantcranes)\
**Post date:** [February 22, 2008, 10:57am UTC](https://www.ruby-forum.com/t/reduce-three-line-method-to-one-line/129878/2 "2008-02-22T10:57:03Z")

</div>

On 22/02/2008, Giant C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> def get\_category\_data(category\_id)  
> rows = []  
> FasterCSV.parse(@data) { |row| rows \<\< row if row[0] == category\_id }  
> rows  
> end

FasterCSV.parse(@data).select{|row| row[0] == category\_id}

---

<div class="post-metadata">

**Author:** ![giantcranes](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ecd19e/32.png) [@giantcranes](https://www.ruby-forum.com/u/giantcranes)\
**Post date:** [February 22, 2008, 11:01am UTC](https://www.ruby-forum.com/t/reduce-three-line-method-to-one-line/129878/3 "2008-02-22T11:01:09Z")

</div>

Farrel L. wrote:

> FasterCSV.parse(@data).select{|row| row[0] == category\_id}

Fantastic, thanks!

---

<div class="post-metadata">

**Author:** ![giantcranes](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ecd19e/32.png) [@giantcranes](https://www.ruby-forum.com/u/giantcranes)\
**Post date:** [February 27, 2008, 10:15am UTC](https://www.ruby-forum.com/t/reduce-three-line-method-to-one-line/129878/4 "2008-02-27T10:15:08Z")

</div>

On Fri, 22 Feb 2008 18:56:09 +0900, Farrel L. wrote:

> FasterCSV.parse(@data).select{|row| row[0] == category\_id}

This is to import data with the click of a button?

-Thufir
