Conversion methods return default values on failure, making debugging impossible:
"invalid".to_i() // Returns 0 (can't distinguish from actual 0)
"abc".to_f() // Returns 0.0
nil.to_s() // Returns ""
Recommendation:
- Return ERROR object on failure
result = "abc".to_i()
if result.type() == "ERROR"
puts("Conversion failed: " + result.message())
end
Conversion methods return default values on failure, making debugging impossible:
Recommendation: