From: seanh1313@... Date: 2011-04-02T04:42:10+09:00 Subject: Re: Searching a CSV file - beginner seeking help OK 1) I would make this as modular as you can, that way you can expand it when needed. 2) When you do your "if @names.include?(film)" is where you would do your regx search. Here is a link or so : http://www.regextester.com/ http://www.regular-expressions.info/reference.html 3) Working on something for you. ---- Simon Harrison wrote: > 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/. >