Please don’t laugh at my simplistic coding “techniques?”
I am reading a file which contains 1041 one token records into an array:
f_lus = File.open("/file_name", “r”)
lus = Array.new
lus = File.read("/file_name")
When I print the size of the array lus it shows: 14377.
So I figured that this has to do with the end of line chars at the end
of
each record/token. However, if you have 1 nl char per record the size
should
be twice the number of records or 2082 and not 14,377.
I went ahead and created a new array as follows, from the old array in
the
same script:
i = 0
newArray = Array.new
lus.each do |lu|
newArray[i] = lu
i += 1
end
Now when I puts the size of array newArray it prints 1041 correctly.
What is happening here, please?
Second, is there a way to chomp a record as it is read into the array?
When you do that does it close the file handle as well? I was just
using the block to make sure the file handle gets closed. Are there
certain actions that will close the handle by themselves and others
that won’t?
Well, there’s no way I know of to get at the file handle used here,
so I sure hope it’s closed. I would argue that it’s a bug if it
isn’t.
James Edward G. II
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.