我试图在Ruby中编写一个小程序,但我遇到了以下问题:Ruby似乎无法在括号中对数字进行分组。
例如:
puts (2 - 0) / 10
# prints out 0
这里的逻辑显然存在缺陷。应该发生的事情是(2 - 0)
首先得到评估(根据操作的顺序),然后(2 - 0)
应该除以10
。
在Ruby中使用括号分组不起作用吗?顺便说一下,我正在使用2.1.2。
答案 0 :(得分:2)
你在没有意识到的情况下进行整数除法。 2 / 10
在整数除法中等于0
。
尝试改为运行:
puts (2 - 0) / 10.0
# prints out 0.2
您可能会得到更像您期望的答案。原因是通过将10
更改为10.0
,您可以将操作强制转换为浮点除法。