2011-11-01 75 views
0

有没有人有过csv和ruby的经验。我是新手,正在尝试制作一个使用csv文件保存用户输入的名称和密码的程序。我已经阅读了其他几篇文章,并投入了一些我自己的文章。但是剩下的一些代码在数组上有一个grep方法,我想知道是否有替代方法做类似的事情。现在我需要它能够在csv中搜索名称,然后匹配相应的密码,然后检查密码是否匹配,如果是,那么您将进一步访问。ruby​​ CSV IO交互

def enter_the_vault(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_user 
    puts "Please enter your username: " 
    usern = gets.chomp.downcase 
    results = [@names.grep(/#{usern}/)] 
    if results.each {|f| puts f} 
    prompt 
    else 
    puts "user does not exist" 
    prompt 
    end 
end 

def prompt 
    puts "Incorrect.. do you want to retry: (y/n)" 
    answer = gets.chomp.downcase 

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

回答

0

这听起来奇怪就像一个家庭作业的问题(用户名和明文密码的CSV?),但对于CSV文件的工作我会建议FasterCSV库。它是Ruby 1.8中的外部依赖项,但包含在1.9中。

+0

感谢好友我正在采取不同的看待它完全.. – TheLegend