我在我們的代碼庫中偶然發現了這行 Ruby:
value = value.to_i if value == value.to_i
我不明白它應該做什么。
如果守衛條件為假,它什么也不做。如果是真的,那就是空話。
是什么賦予了?
uj5u.com熱心網友回復:
這行代碼會將任何整數轉換為Integer類,因此它將替換2.0或。如果您稍后有代碼關心.BigDecimal(2)2value
uj5u.com熱心網友回復:
在大多數情況下,這是一個 noop。但是,在value沒有回應的情況下to_i,NoMethodError將拋出 a - 我非常懷疑這是故意的,但如果沒有更多背景關系,很難更準確。
uj5u.com熱心網友回復:
value如果是浮點數,我可以看到一些用處。此行之后value將是一個整數(如果值為 4.0)或nil(如果值為 4.5 左右)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/434250.html
標籤:红宝石
