# Undefined method '\[\]' I dont know why

**URL:** <https://www.ruby-forum.com/t/undefined-method-i-dont-know-why/152421>\
**Category:** Ruby\
**Created:** [November 3, 2008, 8:18pm UTC](https://www.ruby-forum.com/t/undefined-method-i-dont-know-why/152421 "2008-11-03T20:18:18Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sobcios](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e9a140/32.png) [@sobcios](https://www.ruby-forum.com/u/sobcios)\
**Post date:** [November 3, 2008, 8:18pm UTC](https://www.ruby-forum.com/t/undefined-method-i-dont-know-why/152421/1 "2008-11-03T20:18:18Z")

</div>

Hello , I have problem with my script.

/////////////this function return true or false  
def moznazbudowac?(co,sesja,stan)  
budynek = “”  
catch(:redo) do  
case co  
when 1  
budynek = “Kopalnia metalu”  
when 2  
budynek = “Kopalnia krysztalu”  
when 3  
budynek = “Kopalnia deuteru”  
end  
end  
poziom = stan[budynek] # 11  
poziom = poziom.to\_i  
surowce\_pods = bazadanych(co) #output  
[60,15,0,1.5]  
surowce\_potrz = [0,0,0,0]  
surowce\_potrz[0] = surowce\_pods[0].to\_i  
_surowce\_pods[3].to\_i_\*(poziom-1)#Error  
[…]# further part of script  
//////////////////////

Error : Undefined method ‘[]’ for nil:NilClass   
I try to modify script but dont know how fix this error.

a = moznazbudowac?(1,sesja,stan) // this is working

But when i execute this  
sesja = sesja()  
stan = skaner ()  
kolejka() return array i was testing with array [1]  
test\_kolejki = kolejka()  
kolejkowanie(test\_kolejki,sesja,stan)#error  
I have error in function kolejkowanie() and i line above and in function  
moznazbudowac?.

/////////////////  
def kolejkowanie(kolejka,sesja,stan)  
dlugosc = kolejka.length  
dlugosc -=1  
nr = 0  
while nr\<=dlugosc  
zbudowano = 0  
while zbudowano == 0  
if moznazbudowac?(kolejka[nr],sesja,stan) == true then#error  
zbuduj(kolejka[nr],sesja)  
kolejka.pop  
nr +=1  
zbudowano = 1  
else  
“Nie starczy surowcow”  
end  
end

end

end  
///////////////////

---

<div class="post-metadata">

**Author:** ![sobcios](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e9a140/32.png) [@sobcios](https://www.ruby-forum.com/u/sobcios)\
**Post date:** [November 3, 2008, 8:38pm UTC](https://www.ruby-forum.com/t/undefined-method-i-dont-know-why/152421/2 "2008-11-03T20:38:25Z")

</div>

Hi,  
Well, it’s really telling you that something that you’re indexing into  
is nil. Not sure which of the things in that big assignment is the nil  
one, but something there is.

HTH,  
Carey

---

<div class="post-metadata">

**Author:** ![sobcios](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e9a140/32.png) [@sobcios](https://www.ruby-forum.com/u/sobcios)\
**Post date:** [November 3, 2008, 9:00pm UTC](https://www.ruby-forum.com/t/undefined-method-i-dont-know-why/152421/3 "2008-11-03T21:00:22Z")

</div>

Thx for help. Now i see what’s wrong:  
if moznazbudowac?(kolejka[nr],sesja,stan) == true

kolejka does error. I will fix this tomorrow.
