Witam! Chcę zadać pytanie związane ze zwykłym Ruby. Mam taki kod:
[code]$walls = Array.new(2, Hash.new)
$walls[0][‘x’] = 100
$walls[0][‘y’] = 100
$walls[0][‘w’] = 100
$walls[0][‘h’] = 100
$walls[1][‘x’] = 200
$walls[1][‘y’] = 200
$walls[1][‘w’] = 100
$walls[1][‘h’] = 100
def drawWalls
$walls.each do |wall|
# $screen.fillRect(wall[‘x’], wall[‘y’], wall[‘w’], wall[‘h’], [0,0,0])
puts wall.to_s
end
end[/code]
I teraz to co zwraca ta funkcja (poprzez puts) to:
[quote]{“x” => 200, “y” => 200, “w” => 100, “h” => 100}
{“x” => 200, “y” => 200, “w” => 100, “h” => 100}[/quote]
Gdybym stworzył tablicę 10-elementową to linijka będzie powtórzona 10 razy. A nie muszę chyba tłumaczyć co chcę osiągnąć? Nie wiem czemu za zmienną wall podawany jest tylko ostatni element tablicy, zamiast najpierw pierwszy o indexie 0, a potem drugi o indexie 1. I jak zrobić, żeby to “działało” tak jak trzeba?