2013-10-21 63 views
0

我想在执行结束时重新打开脚本。我尝试了负载,但没有奏效。我想做什么?如果是,我该怎么办?用红宝石重新打开脚本

这是我的剧本的结构:

usr_choice = gets.chomp.to_i 
case usr_choice 
    when 1 
    # Do something 
    when 2 
    # Do something else 
    else 
    puts "Choice not recognised" 
end 

基本上我想例如通过case声明打算回去后给用户输入(usr_choice)。没有转到。

+2

你为什么要这么做?你能不能把你的代码放在一个函数中,然后创建一些逻辑来循环这个逻辑? – hirolau

+3

“重新开放”是什么意思? – phoet

+0

当我说重新开放时,我的意思是说我想在执行结束时打开相同的脚本。因为我在开始时有一个用户输入,我希望用户可以选择做其他事情。你懂我的意思吗?我知道这不是很清楚...... –

回答

1

所以你想要一个循环?那么,使用loop

loop do 
    usr_choice = gets.chomp.to_i 

    case usr_choice 
    when 1 
    puts 'one' 
    when 2 
    puts 'two' 
    else 
    break # exit the loop (not the case construct as in other languages) 
    end 
end 

例子:

$ ruby filename.rb 
1 
one 
2 
two 
1 
one 
kthxbye 
$