Null object: Difference between revisions
Content added Content deleted
m (J: add another example) |
(Added COBOL) |
||
Line 279: | Line 279: | ||
<lang lisp>(ns-unmap *ns* 'foo)</lang> |
<lang lisp>(ns-unmap *ns* 'foo)</lang> |
||
=={{header|COBOL}}== |
|||
Works with GnuCOBOL 2.0 |
|||
<lang COBOL> identification division. |
|||
program-id. null-objects. |
|||
remarks. test with cobc -x -j null-objects.cob |
|||
data division. |
|||
working-storage section. |
|||
01 thing-not-thing usage pointer. |
|||
*> call a subprogram |
|||
*> with one null pointer |
|||
*> an omitted parameter |
|||
*> and expect void return (omitted) |
|||
*> and do not touch default return-code (returning nothing) |
|||
procedure division. |
|||
call "test-null" using thing-not-thing omitted returning nothing |
|||
goback. |
|||
end program null-objects. |
|||
*> Test for pointer to null (still a real thing that takes space) |
|||
*> and an omitted parameter, (call frame has placeholder) |
|||
*> and finally, return void, (omitted) |
|||
identification division. |
|||
program-id. test-null. |
|||
data division. |
|||
linkage section. |
|||
01 thing-one usage pointer. |
|||
01 thing-two pic x. |
|||
procedure division using |
|||
thing-one |
|||
optional thing-two |
|||
returning omitted. |
|||
if thing-one equal null then |
|||
display "thing-one pointer to null" upon syserr |
|||
end-if |
|||
if thing-two omitted then |
|||
display "no thing-two was passed" upon syserr |
|||
end-if |
|||
goback. |
|||
end program test-null.</lang> |
|||
{{out}} |
|||
<pre> |
|||
prompt$ cobc -x -j null-objects.cob |
|||
thing-one pointer to null |
|||
no thing-two was passed |
|||
</pre> |
|||
=={{header|Common Lisp}}== |
=={{header|Common Lisp}}== |