Contar y calcular la longitud promedio de las palabras en rubí

Estoy tratando de depurar un programa en ruby que está destinado a calcular e imprimir la longitud promedio de las palabras en una matriz.

words = ['Four', 'score', 'and', 'seven', 'years', 'ago', 'our', 'fathers', 'brought', 'forth', 'on', 'this', 'continent', 'a', 'new', 'nation', 'conceived', 'in', 'Liberty', 'and', 'dedicated', 'to', 'the', 'proposition', 'that', 'all', 'men', 'are', 'created', 'equal']

word_lengths = Array.new

words.each do |word|

  word_lengths << word_to.s

end

sum = 0
word_lengths.each do |word_length|
  sum += word_length
end
average = sum.to_s/length.size
puts "The average is " + average.to_s

Obviamente, el código no funciona. Cuando ejecuto el programa, recibo un mensaje de error que dice que la cadena '+' no se puede forzar a fixnum (typeerror).

¿Qué debo hacer para que el código no calcule la longitud promedio de las cadenas en la matriz?

Respuestas a la pregunta(2)

Su respuesta a la pregunta