2011-11-01 76 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