我正在尝试制作一个基于控制台的计算器来练习一些 Ruby,我正在使用“case”语句来检查控制台参数,然后使用 Ruby 的算术来解释并返回结果。
我遇到的问题是我无法让 Ruby 执行与乘法关联的行。它只是转到“else”块并执行我的帮助方法。除了指数之外,我还有所有其他方法我认为 Ruby 将 STAR 字符视为“一切”(我不知道该怎么说)
case @args[1]
when '+'
puts "#{@args[0].to_i + @args[2].to_i}"
when '-'
puts "#{@args[0].to_i - @args[2].to_i}"
when '*'
puts "#{@args[0].to_i * @args[2].to_i}"
when '/'
puts "#{@args[0].to_i / @args[2].to_i}"
when '%'
puts "#{@args[0].to_i % @args[2].to_i}"
when '**'
puts "#{@args[0].to_i**@args[2].to_i}"
else
help
end
我知道它看起来很狡猾,我打算在一切正常后修复它。
我对 Ruby 还很陌生,所以我不能 100% 确定我需要做什么才能让 Ruby 将它们视为简单的星星而不是正则表达式......
我向你保证这不是家庭作业,我只是想学习一些 Ruby,因为我最近也开始学习 Rails。