2016-03-04 44 views
0

我正嘗試在Ruby中創建一個簡單的提示菜單。我不是Ruby的專家,但我試圖編寫類似於其他語言(如C/C++)中提示菜單的代碼,但是我的代碼不能正常工作,我正在爲用戶輸入創建一個無限循環,調用函數。Ruby中的提示菜單

繼承人我的代碼:

begin 
    puts "Option 1" 
    puts "Option 2" 
    puts "Option 3" 
    puts "" 
    command = gets.chomp 

    loop do 
    case command 
    when 1 
     functionname(arg1, arg2) 
    when 2 
     functionname2(arg1, arg2) 
    end 

    end 
end 

請,有人能幫助我嗎?

回答

1

要問一個選項一次,簡單地擺脫loop(一次≠循環)的:

puts ["Option 1", "Option 2", "Option 3", ""].join $/ 

case command = gets.chomp 
when 1 
    functionname(arg1, arg2) 
when 2 
    functionname2(arg1, arg2) 
else 
    raise "Unknown option" 
end 

要請求的選項很多次,問裏面loop

loop do 
    puts ["Option 1", "Option 2", "Option 3", ""].join $/ 

    case command = gets.chomp 
    when 1 
    functionname(arg1, arg2) 
    when 2 
    functionname2(arg1, arg2) 
    else 
    break # break loop 
    end 
end