過去,我有這樣的:與零法默認PARAMS在Ruby中
def foo(a=3, b=6)
puts a+b
end
但我這樣稱呼它:
foo(params[:a], params[:b])
這是好的,如果PARAMS是有,但如果他們不和它被稱爲具有:
foo(nil,nil)
然後在3和6的缺省值未設置和它拋出的方法是undef「+」的誤差爲零類
我的問題是,如果有方法可以設置方法的默認值,即使nil被傳入方法。所以如果用戶告訴你零,你會說'擰你人!'反正給他3個。
這不是一個好主意,我意識到,但我只是好奇。
爲什麼你不測試你的方法中的零值? '把a + b除非a.nil? || b.nil?' –