Actually, it doesn't. It just looks that way because of the way 'puts'
works with arrays. Try 'ruby -e "puts [1,2,3]"' to see what I mean.
See the docs on IO.puts for more details.
To see what's really happening replace 'puts' with 'p' (inspect) in your
example.
Regards,
Dan
···
-----Original Message-----
From: Ed Howland [mailto:ed.howland@gmail.com]
Sent: Wednesday, October 26, 2005 11:17 AM
To: ruby-talk ML
Subject: Nuby Array questions - each iterates nested arrays?a=[[1, 2, 3], [4, 5, 6]]
=> [[1, 2, 3], [4, 5, 6]]
a.length
=> 2
a.each {|x| puts x}
1
2
3
4
5
6
=> [[1, 2, 3], [4, 5, 6]]
a.each_index {|x| puts x}
0
1Why does each traverse into the inner arrays as well (tried
it with 3 and 4 deep?) Array#length seems to be correct to me
and Array#each_index This seems to happen to collect!, and
I'd gather other methods as well.