# Strange two dimensional array behaviour

**URL:** <https://www.ruby-forum.com/t/strange-two-dimensional-array-behaviour/166920>\
**Category:** Ruby\
**Created:** [April 30, 2009, 9:54pm UTC](https://www.ruby-forum.com/t/strange-two-dimensional-array-behaviour/166920 "2009-04-30T21:54:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kanesoban](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f19dbf/32.png) [@kanesoban](https://www.ruby-forum.com/u/kanesoban)\
**Post date:** [April 30, 2009, 9:54pm UTC](https://www.ruby-forum.com/t/strange-two-dimensional-array-behaviour/166920/1 "2009-04-30T21:54:28Z")

</div>

This code is supposed to read in a 9x9 table (sudoku table) from a  
simple text file. It then needs to write it out on the screen.

#read from file

def puzzle\_beolvas fnev  
f = File.new(fnev,“r”)  
puzzle = Array.new(9){[]}  
for i in (1…9)  
puzzle[i] = Array.new(9)  
end  
i = 1

f.each do |sor|  
j = 1  
sor.each do |str|  
puzzle[i][j] = str  
j = j + 1  
end  
#print “\n”  
i = i + 1  
end  
f.close

#Write out the 2 dimensional array

for i in (1…9)  
for j in (1…9)  
print puzzle[i][j]  
print " "  
end  
print “\n”  
end

end

#the program does this for every file, whose name is given as an  
argument

ARGV.each do |a|  
puzzle\_beolvas a  
end

So, the output should be something like this:

6 1 5 4 2 9 3 8 7  
4 7 2 8 5 3 1 6 9  
3 9 8 1 7 6 2 4 5  
7 4 6 2 3 1 5 9 8  
5 2 1 9 8 4 6 7 3  
9 8 3 7 6 5 4 1 2  
8 6 7 5 4 2 9 3 1  
1 5 4 3 9 7 8 2 6  
2 3 9 6 1 8 7 5 .

Instead, i get this:

6 1 5 4 2 9 3 8 7  
nil nil nil nil nil nil nil nil  
4 7 2 8 5 3 1 6 9  
nil nil nil nil nil nil nil nil  
3 9 8 1 7 6 2 4 5  
nil nil nil nil nil nil nil nil  
7 4 6 2 3 1 5 9 8  
nil nil nil nil nil nil nil nil  
5 2 1 9 8 4 6 7 3  
nil nil nil nil nil nil nil nil  
9 8 3 7 6 5 4 1 2  
nil nil nil nil nil nil nil nil  
8 6 7 5 4 2 9 3 1  
nil nil nil nil nil nil nil nil  
1 5 4 3 9 7 8 2 6  
nil nil nil nil nil nil nil nil  
2 3 9 6 1 8 7 5 .  
nil nil nil nil nil nil nil nil  
6 1 5 4 2 9 3 8 7

Any ideas, why ?

---

<div class="post-metadata">

**Author:** ![kanesoban](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f19dbf/32.png) [@kanesoban](https://www.ruby-forum.com/u/kanesoban)\
**Post date:** [April 30, 2009, 10:24pm UTC](https://www.ruby-forum.com/t/strange-two-dimensional-array-behaviour/166920/2 "2009-04-30T22:24:30Z")

</div>

On Apr 30, 2009, at 3:54 PM, Zsolnai Csaba wrote:

> print “\n”  
> end
> 
> end
> 
> ## Any ideas, why ?

Arrays index from 0. A 9-element array has indexes from 0…8

-Rob

Rob B. [http://agileconsultingllc.com](http://agileconsultingllc.com)  
removed\_email\_address@domain.invalid
