ID:2624856
 
Resolved
BYOND Version:N/A (Website Bug)
Operating System:Linux
Web Browser:Firefox 81.0
Applies to:Website
Status: Resolved

This issue has been resolved.
The BYOND reference for /operator/?. states

When reading A?.B, it's equivalent to A && A.B except that A is only evalulated once, even if it's a complex expression like a proc call.

It should instead read

When reading A?.B, it's equivalent to !isnull(A) && A.B except that A is only evalulated once, even if it's a complex expression like a proc call.

The difference in behavior around 0 and "" has been tripping people up in the coderbus Discord lately and it would be nice if the reference was correct.

I think this replacement text still might not be perfectly accurate, but it at least alleviates this particular confusion. Maybe isnull(A) ? null : A.B would be truer?
Lummox JR resolved issue