# Iterate Array

**URL:** <https://www.ruby-forum.com/t/iterate-array/137797>\
**Category:** Ruby\
**Created:** [May 16, 2008, 1:45pm UTC](https://www.ruby-forum.com/t/iterate-array/137797 "2008-05-16T13:45:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [May 16, 2008, 1:45pm UTC](https://www.ruby-forum.com/t/iterate-array/137797/1 "2008-05-16T13:45:57Z")

</div>

Hi  
I have created an array like  
def checkdata(data)  
@passed\_effort= data.split(’:’).collect! {|n| n}  
hours = @passed\_effort[0]  
minutes = @passed\_effort[1]  
@error\_checked\_value=Array.new  
if hours =~ /\D/ || minutes =~ /\D/  
@error\_checked\_value \<\< ‘nonnumeric’  
end  
if minutes.to\_i \> 59  
@error\_checked\_value \<\< ‘notinrange’  
end  
return @error\_checked\_value  
end

Now how can I iterate through this array  
@error\_checked\_value.each do |val|  
puts val  
end

Is this correct?Or any other method?

Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [May 16, 2008, 2:38pm UTC](https://www.ruby-forum.com/t/iterate-array/137797/2 "2008-05-16T14:38:22Z")

</div>

Using each is the most common way to iterate an array. Is there  
something more than puts-ing each value that you want to do that  
caused you to ask your question?

Regards,  
Craig

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [May 16, 2008, 2:49pm UTC](https://www.ruby-forum.com/t/iterate-array/137797/3 "2008-05-16T14:49:39Z")

</div>

Hi  
I have a doubt regrding .collect That is why I asked tht.Is there any  
such a method?

Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [May 16, 2008, 4:09pm UTC](https://www.ruby-forum.com/t/iterate-array/137797/4 "2008-05-16T16:09:56Z")

</div>

2008/5/16 Sijo Kg [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> I have a doubt regrding .collect That is why I asked tht.Is there any  
> such a method?

Yes, there is. But your usage of collect does not make any sense:

xxx.collect! {|n| n}

Using #collect or #map with this block is basically a noop because  
elements will be replaced by themselves.

Kind regards

robert
