0
我試圖寫一個簡單的用戶名/密碼提示。我仍然是Ruby的初學者。如何讓程序檢查密鑰是否與該值相等?
combo = Hash.new
combo["placidlake234"] = "tastychicken"
combo["xxxdarkmasterxxx"] = "pieisgood"
combo["dvpshared"] = "ilikepie"
puts "Enter your username."
username = gets.chomp
def user_check
if username = ["placidlake234"||"xxxdarkmasterxxx"||"dvpshared"]
puts "What is your password?"
password = gets.chomp
pass_check
else
puts "Your username is incorrect."
end
end
def pass_check
if password => username
puts "You have signed into #{username}'s account."
end
end
user_check()
當我嘗試運行它時,我在=> username
的用戶名之前發現了一個奇怪的錯誤。
什麼是錯誤註釋掉? –
有幾個問題:1.不使用組合; 2. [「placidlake234」|| 「xxxdarkmasterxxx」|| 「dvpshared」] => [「placidlake234」],所以你有if username = [「placidlake234」],這是if [「placidlake234」],因爲你錯誤地使用=而不是==; 3.你需要def passcheck(密碼,用戶名),以使passcheck()訪問這些變量; 4.你需要密碼==用戶名(不是=>); 5.堅持認爲密碼與用戶名相同是不常見的做法; 6.您需要user_check的user_check(用戶名)才能訪問用戶名。你有StrangeRuntimeError? –
如果您正在使用Ruby on Rails,則Devise模塊將自動執行用戶名/密碼檢查。 –