On 15.10.2007 19:41, Simon Schuster wrote: > it seems that I have to run it a couple different times for it to > work.. array.length = 16576, if that could be a potential problem. if > it is, how do I work around it? > > 077:0> array = File.read("/text.txt").to_a.each { |x| x.chomp! } > 080:0> array.each_with_index { |x,y| > array.delete_at(y) if x.empty? == true > } > > still leaves me with plenty of empty array items > 080:0> array[-3] > "" Your bug is in the loop: you iterate and delete at the same time which will likely yield strange results (as you observe). Why don't you just do array.delete_if {|x| x.empty?} Btw, empty? == true is quite dangerous because in Ruby "true" is not the only valid value for true. Apart from that it seems your code is pretty inefficient since you do a lot copying around. I'd rather do this ar = [] File.foreach("text.txt") do |line| line.chomp! ar << line unless line.empty? end Cheers robert