2007/7/31, Michael W. Ryder <_mwryder / worldnet.att.net>: > 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. These are options, too: ns, nc = 2, 2 ns = nc = 2 Kind regards robert