【发布时间】:2016-12-03 14:46:13
【问题描述】:
我用 ruby 做了一个简单的计算器。但是,一旦程序停止运行,就必须重新运行。我尝试了以下方法,但它以无限循环结束。我该如何编写它才能运行直到用户告诉它退出?
puts "Please enter two digits separated by operation you would like to calculate:"
input = gets.chomp.split(' ')
while input != nil
if input[1] == "+"
puts input[0].to_i + input[2].to_i
elsif input[1] == "-"
puts input[0].to_i - input[2].to_i
elsif input[1] == "*"
puts input[0].to_i * input[2].to_i
else
puts input[0].to_i / input[2].to_i
end
end
【问题讨论】:
-
input永远不会是nil,它始终是一个数组。请注意,在 Ruby 中x != nil实在是太混乱了,99% 的时间while x都可以。唯一逻辑错误的是false和nil。空数组、空字符串、0等都是真实的。
标签: arrays ruby while-loop calculator