# Is there a concise way?

**URL:** <https://www.ruby-forum.com/t/is-there-a-concise-way/53069>\
**Category:** Rails\
**Created:** [January 24, 2006, 5:34pm UTC](https://www.ruby-forum.com/t/is-there-a-concise-way/53069 "2006-01-24T17:34:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkhumri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/258eb7/32.png) [@mkhumri](https://www.ruby-forum.com/u/mkhumri)\
**Post date:** [January 24, 2006, 5:34pm UTC](https://www.ruby-forum.com/t/is-there-a-concise-way/53069/1 "2006-01-24T17:34:21Z")

</div>

Hi,

Is there a concise/ruby way to do the following:  
[Note: 1 and 2 below are not related.]

(1)  
for p in removed\_email\_address@domain.invalid\_items[k].shipment\_lines.length  
shipline\_qty = shipline\_qty +  
@order.line\_items[k].shipment\_lines[p].quantity  
end

(2)  
ts = Array.new  
for tk in s.trackings  
ts.push(tk)  
end

Thanks.

---

<div class="post-metadata">

**Author:** ![mkhumri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/258eb7/32.png) [@mkhumri](https://www.ruby-forum.com/u/mkhumri)\
**Post date:** [January 24, 2006, 5:43pm UTC](https://www.ruby-forum.com/t/is-there-a-concise-way/53069/2 "2006-01-24T17:43:40Z")

</div>

Hi, I’m not an expert so 🙂

(1)  
for p in removed\_email\_address@domain.invalid\_items[k].shipment\_lines.length  
shipline\_qty +=  
@order.line\_items[k].shipment\_lines[p].quantity  
end

(2)  
ts = Array.new  
s.trackings.each { |tk| ts \<\< tk }

Hope that helps!

2006/1/24, Mufaddal K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![mkhumri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/258eb7/32.png) [@mkhumri](https://www.ruby-forum.com/u/mkhumri)\
**Post date:** [January 24, 2006, 5:49pm UTC](https://www.ruby-forum.com/t/is-there-a-concise-way/53069/3 "2006-01-24T17:49:47Z")

</div>

On 1/24/06, Mufaddal K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> end
> 
> ```

I’m sure there’s a better way to do this one also but I’m a relative  
Ruby  
newb myself… maybe someone else can come up with something;  
maybe something like:

(removed\_email\_address@domain.invalid\_items[k].shipment\_lines.length).each do |p|  
shipline\_qty +=  
@order.line\_items[k].shipment\_lines[p].quantity

(2)

> ```
> ts = Array.new
> for tk in s.trackings
> ts.push(tk)
> end
> 
> ```
> 
> Thanks.

ts = s.trackings.map { |tk| tk }

---

<div class="post-metadata">

**Author:** ![mkhumri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/258eb7/32.png) [@mkhumri](https://www.ruby-forum.com/u/mkhumri)\
**Post date:** [January 24, 2006, 5:43pm UTC](https://www.ruby-forum.com/t/is-there-a-concise-way/53069/4 "2006-01-24T17:43:41Z")

</div>

Mufaddal K. wrote:

> Hi,
> 
> Is there a concise/ruby way to do the following:  
> [Note: 1 and 2 below are not related.]
> 
> (1)  
> for p in removed\_email\_address@domain.invalid\_items[k].shipment\_lines.length  
> shipline\_qty = shipline\_qty +  
> @order.line\_items[k].shipment\_lines[p].quantity  
> end  
> shipline\_qty = @order.line\_items[k].shipment\_lines.inject(0){|m, line|  
> m+line.quantity }

> (2)  
> ts = Array.new  
> for tk in s.trackings  
> ts.push(tk)  
> end  
> I don’t get it… What do you want to do with ts that you can’t already  
> do with s.trackings?
