NilsealedThe class of nil, the single 'no value' value -- what a missing Map key or a search that finds nothing returns. nil is not a Boolean and does not answer if:else:; test for it with == nil or defined? (which is false only for nil).
nil == nil "* -> true nil.defined? "* -> false
nil's overrides: falsy, prints as nothing, and absorbs arithmetic.
nil — the type's only value.
nil is falsy: !nil is true.
nil % x is nil (see +:).
nil * x is nil (see +:).
Arithmetic on nil absorbs: nil + x is nil, so a missing value propagates through a calculation instead of erroring.
nil - x is nil (see +:).
nil / x is nil (see +:).
Whether the argument is also nil -- nil equals only itself.
nil == 5 "* -> false
false — nil (and only nil) is undefined.
The empty string: nil renders as nothing.