0
每次我打電話驗證方法上的任何模式,我得到以下錯誤:驗證錯誤 - 未定義的方法「零?」
NoMethodError: undefined method `zero?' for nil:NilClass
看來,如果我從我的自定義數組類中刪除功能和錯誤將消失:
class Array
def sum
inject(nil) { |sum,x| sum ? sum+x : x }
end
..
這是怎麼發生的? 我該如何解決這個問題,仍然保留總和功能?
我實現它是因爲這個功能(加權隨機數組):http:// dzone。 com/snippets/weighted-random-array – Aljaz
您不需要定義總和,因爲rails爲您定義了一個。據推測,你鏈接到的代碼的作者不想假定鐵軌的存在(或者它早於鐵軌的總和) –