I've replied below.

On Jun 6, 2008, at 3:11 PM, Justin To wrote:

> modArr    = Array.new
> freq        = Array.new([ [0] ])
> values     = Array.new([ [] ])
>
>
> #--------------Open the output file and process each line-----
> File.open('output.txt', 'r').each { |x|
>
> #-------------Create unique keys according to |x|---------------
>    #--Calculate the modulus ([add each digit]%10) and use it as hash
> key--
>    key = 0; modF = x.each_byte { |y| key += y.chr.to_i }
>    #--For slight optimization, change the resulting key into a symbol
>    mod = (key%100).to_s.intern
>
>
>      #--If the key D.N.E. then add it into modArr
>
>      if(!modArr.include?(mod))
>
>        #--Add the value
>        values[modArr.size][0] = x.chomp
>
>
>        #--Add the frequency
>        freq[modArr.size][0] += 1
>
>
>        #--Add the mod
>        modArr[modArr.size] = mod
>
>
>        end
>
> }
>
>
> Hi, I'm still trying to work on the same problem that I posted a few
> days ago... when i run this program, this error reads:
>
> BLANK.rb:22: undefined method `[]=' for nil:NilClass (NoMethodError)
>  from BLANK.rb:7:in `each'
>  from BLANK.rb:7
>
>
> Why is this? And how do I fix it??

You're using a rather unconventional way of appending to an array,  
i.e. ary[ary.size] = value. This works in the general case. Where it  
doesn't work is in your code where you say, effectively, ary[ary.size] 
[0] = value. The problem is that ary[ary.size] is returning nil.

-Kevin Ballard

-- 
Kevin Ballard
http://kevin.sb.org
kevin / sb.org
http://www.tildesoft.com