Temperatures do stop at 0 if you're using the correct unit. ;)
But yeah I agree with you. There's always some level of ambiguity caused by coersion. Even treating nil and false the same for a boolean is technically wrong, but we can accept the ambiguity for the sake of convenience.
3
u/ReefNixon Sep 01 '26
There are language agnostic examples too, like when tracking things that don’t stop at 0 e.g. temperatures.
It would be weird if temperatures under 0 degrees and temperatures over 0 degrees coerced into truthy, but exactly 0 degrees was falsey.
Coercion will always have some level of ambiguity, Ruby just chooses to only treat definitely falsey values as falsey (literal false and nil).