Hi all. I've written a little script to search a csv file for films. It
works but has problems. I'd appreciate any pointers with the following:

1. I've used instance variables without a class, to make them visible
amongst methods. Is this acceptable for a short script like this?

2. As it is, it will only match exactly. For example, I have The Mummy
and The Mummy Returns. If I search for 'mummy' program reports "film not
found." I know I need to use Regexp's, not sure how to implement it here
though.

3. Any other comments gratefully received.


#################
# search_films.rb
#################

require 'csv'

def load_xvid_file(path_to_csv)
  @names = []
  csv_contents = CSV.read(path_to_csv)
  csv_contents.shift
  csv_contents.each do |row|
    @names << row[0]
  end
  @names.each { |f| f.downcase! }
end

def search_for_film
  print "Enter name of film to search for: "
  film = gets.chomp.downcase
  puts

  if @names.include?(film)
    puts "#{film} found!"
  else
    puts "#{film} not found :("
  end
  prompt
end

def prompt
  print "Search again? (y or n) "
  answer = gets.chomp.downcase

  case answer
  when /y/
    search_for_film
  when /n/
    puts "Goodbye."
    exit
  else
    prompt
  end
end

load_xvid_file("/home/simon/Documents/CSV/XviD.csv")
search_for_film

-- 
Posted via http://www.ruby-forum.com/.