2017-09-04 9 views
-3

私はこのコードを持っている:私は"Y"または"N"を入力するとRubyの条件付きの問題?

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 

はなぜ文字列が印刷されませんか?

+2

'answer = gets.chomp' -getsは、EOLセパレータ_を含む入力を返します。 – mudasobwa

+1

@Amirあなたはすでに 'name_of_client'に' gets.chomp'を使っていますので、明らかにそのメソッドを認識しています。 – Stefan

答えて

0

getsは、answer変数に新しい行を追加します。代わりにgets.chompまたはgets.stripを使用してください。将来的には、次のようにpry gemを使用することをお勧めします。これは、javascriptでデバッガと同じように実行を一時停止します。 pryをインストールするには、端末ウィンドウを開き(linuxまたはmacOSを実行していると仮定して)、gem install pryを実行します。以下のように使用することができます。

require "pry" 

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

    end 
end 

get_response 
関連する問題