Null object: Difference between revisions

Lingo added
(Added Maple implementation.)
(Lingo added)
Line 744:
#y->type == 'null'
//true</lang>
 
=={{header|Lingo}}==
Null/nil is called "<Void>" in Lingo. Lingo doesn't distinguish undefined variables from <Void> objects, and by using the constant VOID you can even assign <Void> to variables. Functions that don't return anything, return <Void>. Checking for <Void> (e.g. by using built-in function voidP) can also be used to implement optional function arguments: if voidP() returns TRUE (1) for some argument, a default value can be assigned in the function body.
<lang lingo>put _global.doesNotExist
-- <Void>
 
put voidP(_global.doesNotExist)
-- 1
 
x = VOID
put x
-- <Void>
 
put voidP(x)
-- 1</lang>
 
=={{header|Lily}}==
Anonymous user