Forum: Ruby array problem with sorting - maybe easy but not for me

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Cf63da956b6ba955687a2f2f262928cb?d=identicon&s=25 Mmcolli00 Mom (mmcolli00)
on 2009-01-12 04:57
Attachment: patientrecords.txt (130 Bytes)
This code reads in a text file with comma separated values. Problem is,
some values are missing and it causing other values to ride up the list.
I want to replace those values with string 'no value' then adjust there
others if the next value is not listed on the second iteration of the
array. I am new to learning programming.

patientrecords.txt

1,PersonID,PersonID
2,ID,ID
3,LastName,Social Security #<-insert 'no value'
4,Social Security, Address #<-change array[2] Social Security
5,Address,UniqueID #<-change array[2] to Address
6,UniqueID,Potassium #<-change array[2] to UniqueID



**************************************************
File.open('patientrecords.txt', 'r') do |temp|
   array = []
   temp.each_line do |line|
    array = line.chomp.split(",",0)
      nextVal = array[0].to_i + 1
      line.each_line do |n1|
      if array[1] != array[2] then
        if array[0] != nextVal then
        array[2] = "no value"
        end
       #array[2] = array[1] #populates the array[2]
       end
     end
    puts  array[0]+","+array[1]+","+array[2]
   end
 end
Cf63da956b6ba955687a2f2f262928cb?d=identicon&s=25 Mmcolli00 Mom (mmcolli00)
on 2009-01-12 21:45
Do you think there is another way to do this? I have tried taking out
the numbers array[0] and reading in as hash but I can't get the next
value in Hash. I have to have the next value to compare like this.

psuedo snippet:

if the array[1] != array[2] then
array[2]= 'no value' if 'next' array[1] ==  array[2] #<where i am stuck
end
391f9b787cdc12aa2c179713f5103e3a?d=identicon&s=25 Ilan Berci (iberci)
on 2009-01-12 22:21
Mmcolli00 Mom wrote:
> Do you think there is another way to do this? I have tried taking out
> the numbers array[0] and reading in as hash but I can't get the next
> value in Hash. I have to have the next value to compare like this.
>
> psuedo snippet:
>
> if the array[1] != array[2] then
> array[2]= 'no value' if 'next' array[1] ==  array[2] #<where i am stuck
> end

take out "line.each_line do|n1|" statement and it's associated end and I
think you will get what you want..

ilan
This topic is locked and can not be replied to.