2016-03-04 41 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