为什么我的剧本挂了?

时间:2013-09-01 00:49:42

标签: ruby

我花了很多时间试图找出这个悬挂的原因。我假设它与我为||语句格式化if的方式有关:

  rods = {
        :rod1 => [3,2,1],
        :rod2 => [],
      :rod3 => []
           }  

init_rod = gets.chomp.to_sym
if ((init_rod != :rod1 || init_rod != :rod2) || init_rod != :rod3)
  print "Type in \"rod1\", \"rod2\", or \"rod3\": "
elsif rods[init_rod].empty?
  print "Rod has no discs. Select another rod other than #{init_rod}: "
else 
  disc = rods[init_rod].pop
end

1 个答案:

答案 0 :(得分:0)

它已挂起,因为您已指示它等待gets的输入。

事先添加print,或盲目输入。它会起作用。