--0016e6dab13fa14547049eb4c5df
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

So a board is an array of arrays and offspring holds three boards.

So @offspring[i] = [[row1],...,[row9]]. Waht you wanna check then is
@offspring[i][j][k] == 0
i is the board copy (from 0 to 3 in your code)
j is the row index (from 0 to 8)
k is the column index ( from 0 .. 8)

What you probably wanna do is
@offspring.each do |board_copy|
  board_copy.each |row|
    (0..8).each { |column| if row[column] == 0 then row[column] == 9 }
  end
end

2011/3/17 Jen <jen.bottom / gmail.com>

> Hello,
>
> When I run
>  puts @offspring.inspect
>
> After populating it with copies of @board, but before attempting to replace
> the elements containing "_" the result is:
>
> [[[0, 4, 5, 9, 8, 7, 6, 2, 1], [1, 9, 2, 6, 5, 4, 3, 8, 7], [8, 7, 6, 3, 2,
> 1, 5, 4, 9], [5, 2, 9, 8, 1, 6, 4, 7, 3], [4, 3, 1, 7, 9, 2, 8, 5, 6], [6,
> 8, 7, 5, 4, 3, 1, 9, 2], [2, 5, 3, 4, 6, 9, 7, 1, 8], [7, 1, 8, 2, 3, 5, 9,
> 6, 4], [9, 6, 4, 1, 7, 8, 2, 3, 5]], [[0, 4, 5, 9, 8, 7, 6, 2, 1], [1, 9,,
> 6, 5, 4, 3, 8, 7], [8, 7, 6, 3, 2, 1, 5, 4, 9], [5, 2, 9, 8, 1, 6, 4, 7, 3],
> [4, 3, 1, 7, 9, 2, 8, 5, 6], [6, 8, 7, 5, 4, 3, 1, 9, 2], [2, 5, 3, 4, 6,,
> 7, 1, 8], [7, 1, 8, 2, 3, 5, 9, 6, 4], [9, 6, 4, 1, 7, 8, 2, 3, 5]], [[0,,
> 5, 9, 8, 7, 6, 2, 1], [1, 9, 2, 6, 5, 4, 3, 8, 7], [8, 7, 6, 3, 2, 1, 5, 4,
> 9], [5, 2, 9, 8, 1, 6, 4, 7, 3], [4, 3, 1, 7, 9, 2, 8, 5, 6], [6, 8, 7, 5,
> 4, 3, 1, 9, 2], [2, 5, 3, 4, 6, 9, 7, 1, 8], [7, 1, 8, 2, 3, 5, 9, 6, 4],
> [9, 6, 4, 1, 7, 8, 2, 3, 5]], [[0, 4, 5, 9, 8, 7, 6, 2, 1], [1, 9, 2, 6, 5,
> 4, 3, 8, 7], [8, 7, 6, 3, 2, 1, 5, 4, 9], [5, 2, 9, 8, 1, 6, 4, 7, 3], [4,
> 3, 1, 7, 9, 2, 8, 5, 6], [6, 8, 7, 5, 4, 3, 1, 9, 2], [2, 5, 3, 4, 6, 9, 7,
> 1, 8], [7, 1, 8, 2, 3, 5, 9, 6, 4], [9, 6, 4, 1, 7, 8, 2, 3, 5]]]
>
> Let me know if you want me to send the rest of my code.
>
> Jen.
>
>
> On 17/03/11 17:03, Jes Gabriel y Gal wrote:
>
>> On Thu, Mar 17, 2011 at 5:56 PM, Jen<jen.bottom / gmail.com>  wrote:
>>
>>> Hello,
>>>
>>> This question is following on from my post 'making an array of arrays?',
>>> but
>>> as it is about replacing elements I have started a new thread.
>>>
>>> The reply to my last arrays related post did solve one problem, so thanks
>>> very much for that!
>>>
>>> So, I now have an @offspring array that takes copies of @board (a sudoku
>>> board) according to a population specified by the user.
>>>
>>> The aim is to populate all empty cells in @offspring with random numbers,
>>> but for now I am just populating them with '9'.
>>> Empty cells were represented by '")', but are now represented by '0'
>>> Currently the population is fixed at 4, and my current code is:
>>>
>>>    def find_empty!
>>>    #Loop through @offspring and where ever there is "_" put a random
>>> number.
>>>    4.times do |i|
>>>    if @offspring[i] == 0
>>>    then @offspring[i] = 9
>>>    end
>>>    #For debugging with the test puzzle
>>>    puts @offspring.inspect
>>>    end
>>>
>>> When I print out offspring I expect the first element to be changed to 9,
>>> as
>>> it was originally set to 0, this is however not the case. I'm sure I'm
>>> being
>>> very dumb, but if someone could please point me in the right direction
>>> that
>>> would be great.
>>>
>>> Note I have tried the same thing but using a for loop instead of the
>>> .times
>>> method. This gave me the same results.
>>>
>> Your method works, so maybe @offspring doesn't contain what you think.
>>
>> ruby-1.8.7-p334 :001>  def find_empty!
>> ruby-1.8.7-p334 :002?>       #Loop through @offspring and where ever
>> there is "_" put a random number.
>> ruby-1.8.7-p334 :003>         4.times do |i|
>> ruby-1.8.7-p334 :004>           if @offspring[i] == 0
>> ruby-1.8.7-p334 :005?>           then @offspring[i] = 9
>> ruby-1.8.7-p334 :006?>           end
>> ruby-1.8.7-p334 :007?>         #For debugging with the test puzzle
>> ruby-1.8.7-p334 :008>           puts @offspring.inspect
>> ruby-1.8.7-p334 :009?>         end
>> ruby-1.8.7-p334 :010?>    end
>>  =>  nil
>> ruby-1.8.7-p334 :011>  @offspring = [0,0,0,0]
>>  =>  [0, 0, 0, 0]
>> ruby-1.8.7-p334 :012>  find_empty!
>> [9, 0, 0, 0]
>> [9, 9, 0, 0]
>> [9, 9, 9, 0]
>> [9, 9, 9, 9]
>>  =>  4
>> ruby-1.8.7-p334 :013>  @offspring
>>  =>  [9, 9, 9, 9]
>>
>> Can you add the inspecting puts at the beginning of the method and
>> show us the result?
>>
>> Jesus.
>>
>>
>
>
>

--0016e6dab13fa14547049eb4c5df--