From: Peter Vanderhaden Date: 2007-11-17T17:58:12+09:00 Subject: void value expression I'm a Ruby & OO newbie, so please bear with me. I wrote a Ruby script that works, but it is written in a "procedural" way as opposed to OO. I'm now trying to convert it to OO principles, but am having a tough time. I'm getting the following error when I run the program. Can anyone give me an idea of what might be the problem? (I know that some methods only contain placeholder comments, but I don't think that should be the cause of the problem.) Any help is really appreciated! 1 #!/usr/bin/ruby 2 class Record 3 def initialize (record_string) 4 @record = record_string 5 end 6 7 def fix_volume_label 8 # TODO: apply processing to @record to fix volume label 9 # if required for this record 10 end 11 12 def fix_extension_case 13 # TODO: apply processing to @record to fix volume file extension 14 # case if required for this record 15 end 16 17 def to_str 18 @record 19 end 20 21 end 22 23 class FixOpt 24 def initialize 25 26 @argv = $* 27 @header_regex = /BegBates,Volume,Path/ 28 @in_file = nil 29 @out_file = nil 30 31 unless arguments_valid? @argv 32 usage 33 exit -1 34 end 35 36 begin 37 @in_file.open argv[0] 38 rescue IOError 39 @in_file.close 40 puts "error opening input file, terminating" 41 exit -1 42 end 43 44 end 45 46 def run 47 begin 48 @in_file.each |record_line| 49 next if record_line =~ @header_regex 50 record = Record.new(line) 51 record.fix_volume_label 52 record.fix_extension_case 53 puts record #same as puts record.to_str 54 end 55 rescue IOError 56 @in_file.close 57 puts "error reading from input file, terminating" 58 exit -1 59 end 60 @in_file.close 61 exit 0 62 end 63 64 :private 65 66 def arguments_valid? (argv) 67 # validate argv[0] is a file and we have permission to open 68 end 69 70 def usage 71 # print usage 72 end 73 74 #end 75 76 fix_opt = FixOpt.new 77 fix_opt.run -- Posted via http://www.ruby-forum.com/.