From: shadow cipher Date: 2007-07-07T02:35:15+09:00 Subject: Re: keep getting an error saying that this array value is nil, however it is not nil ------=_Part_179284_27828436.1183743316203 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Yes, brainfart for me. Elements start at 0. Doh! On 7/6/07, Brad Carson wrote: > > If i equals the length of the array, elemkeysraw[i] would be out of range > and return a nil value and trigger the error, no? > elemkeysraw[i-1] gets the last value in array. > Not sure why it would be returning a value earlier though. > > > On 7/6/07, shadow cipher wrote: > > > > elemkeysraw = str.split(/=(?!>)/) > > i = elemkeysraw.length > > scr.printw("This is the value of hashargs is #{hashargs} and it's class > is > > #{hashargs.class} and elemkeysraw[i] is #{elemkeysraw[i]} > > elemkeysraw[i].split(/=>/)[0] is #{elemkeysraw[i].split(/=>/)[0]}") > > > > This is the chunk of code,, and the elemkeysraw[i].split(/=>/)[0] causes > > an > > error; > > > > private method `split' called for nil:NilClass (NoMethodError) > > > > However elemkeysraw[i] provides a value. What's the deal with > this? I'm > > guessing it is because the fact that "i" is not evaluated until runtime, > > but > > why does the element reference work, but not when attempting to use a > > string > > method on the value that is contained there? > > > ------=_Part_179284_27828436.1183743316203--