2014-11-07 39 views
0

我想在Ruby中編寫一個小程序,並遇到以下問題:Ruby似乎無法將括號中的數字分組。在Ruby中用圓括號分組數字不起作用嗎?

例如:

puts (2 - 0)/10 

# prints out 0 

有明顯在這裏邏輯一個缺陷。應該發生的是(2 - 0)首先得到評估(根據操作順序),然​​後(2 - 0)應該除以10

用Ruby中的圓括號分組無效嗎?順便說一下,我使用2.1.2。

+1

看起來像在你的第二個代碼示例中,由於2減去0(即'0/10')爲2,你會期望它打印出'2',而不是'0'。 – 2014-11-07 01:10:33

+0

@JesseSielaff拍攝,是啊,你對了。我會解決這個問題。 – GDP2 2014-11-07 01:20:37

回答

2

你正在做整數除法沒有意識到它。 2/10與整數除法的0等效。

嘗試,而不是運行此:

puts (2 - 0)/10.0 

# prints out 0.2 

你可能會得到一個答案更像你期待什麼。原因是通過將10更改爲10.0,您將操作轉換爲浮點除法。

+0

啊,我明白你在說什麼了。我想我忘記了整數除法和浮點除法之間的區別:P – GDP2 2014-11-07 01:08:09