From: dblack@... Date: 2007-05-28T06:12:48+09:00 Subject: Re: Do I lack understanding or arrays? Hi -- On Mon, 28 May 2007, Hakusa@gmail.com wrote: > I'm doing the pascal quiz on rubyquiz.com, but I'm finding that I'm > having trouble assigning a value to my array. > > I've assigned it like this: > > pyramid_lvl[level][i] =\ > ( (pyramid[level-1][i-1]).to_i \ > + (pyramid[level-1][i] ).to_i ) > > and like this: > num1 = pyramid[level-1][i-1].to_i > num2 = pyramid[level-1][i].to_i > ans = num1+num2 > pyramid_lvl[level][i] = [ans] > > Both give me this error message: > undefined method `[]=' for 1:Fixnum (NoMethodError) > > Am I getting this problem because I don't understand how arrays work > and it's simply a matter of operations, or am I having some serious > logical problem preventing correctness. It's just what the error says: you're trying to call the method []= on the object 1 :-) That means that pyramid_lvl[level] must be 1. So when you do: pyramid_lvl[level][i] = whatever it's like you're doing: 1[i] = whatever That's equivalent to a method call: 1[]=(i, whatever) and 1 has no method called []= so you get an error. I can't tell you where in your code you assigned 1 to pyramid_lvl[level], but that appears to be what's happening. David -- Q. What is THE Ruby book for Rails developers? A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black) (See what readers are saying! http://www.rubypal.com/r4rrevs.pdf) Q. Where can I get Ruby/Rails on-site training, consulting, coaching? A. Ruby Power and Light, LLC (http://www.rubypal.com)