2017-09-04 1 views
-3

Ich habe diesen Code:Ruby bedingtes Problem?

def name_of_client 
    puts "Hello sir/madam; please enter your name: " 
    name = gets.chomp.upcase 
    puts "Welcome to the Great Bank, #{name}. Would you like to enter your seriously insecure account? (Y/N)" 
end 

def get_response 
    answer = gets 
    if answer == "Y" || answer == "y" 
    puts 'Sure thing... ' 
    elsif answer == "N" || answer== "n" 
    puts "Logging you out now. " 
    end 
end 

name_of_client 
get_response 

Warum die Saiten nicht gedruckt werden, wenn ich "Y" oder "N" geben?

+2

'answer = gets.chomp'-'gets' gibt die Eingabe _ einschließlich des EOL-Trennzeichens_ zurück. – mudasobwa

+1

@Amir Sie haben 'gets.chomp' bereits in' name_of_client' verwendet, so dass Ihnen die Methode offensichtlich bekannt ist. – Stefan

Antwort

0

gets fügt der Variablen answer eine neue Zeile hinzu. Verwenden Sie stattdessen gets.chomp oder gets.strip. Zukünftig würde ich empfehlen, wie unten gezeigt, das Pry-Juwel zu verwenden, das genau wie der Debugger in JavaScript die Ausführung pausiert. Um zu installieren pry öffnen Sie Ihr Terminal-Fenster (vorausgesetzt, Sie laufen Linux oder MacOS) und gem install pry ausführen. Sie können es dann wie unten gezeigt verwenden.