From: "Michael W. Ryder" <_mwryder@...> Date: 2007-07-31T10:04:58+09:00 Subject: Re: Confusion with while loop Alex Young wrote: > Michael W. Ryder wrote: >> I am trying to create a method that would allow one to skip x number >> of a character then change the next y number of a character. While >> trying to create a simple routine I ran into two "weird" problems. >> The code follows: >> >> a = "1 2 1 3 1 4 1 5 1 6 1 7" >> ns = 2, nc = 2 >> >> i = 0, il = a.length, xs = 0, xc = 0 >> while xs < ns >> if a[i, 1] == "1" >> xs += 1 >> end >> i += 1 >> end >> >> puts a[i, -1] >> >> In this incarnation trying to run the code returns the following >> error: testing.rb:5:in `<': comparison of Fixnum with Array failed >> (ArgumentError). If I change ns in the while statement to 2 I get the >> following error: testing.rb:6:in `[]': can't convert Array into >> Integer (TypeError). >> >> I can't see why statement 5 (the while statement) thinks that ns is an >> array when it is clearly defined as an integer. > It's not, though - run just this line, and check the values of ns and nc: > > ns = 2, nc = 2 > > I think you want: > > ns, nc = [2,2] > Or ns =2; nc =2. I knew it had to be something simple. Thats the problem with programming in multiple languages at the same time, they each do the same things slightly differently. Thanks for pointing that out.