Structural Informatics Group (SIG) logo
Home | Projects | Demos | Downloads | Publications | Local Info | About Us | New site
Go to the first, previous, next, last section, table of contents.

:GET :SET etc

source files: x01v.[ch] xflv.[ch] x32v.[ch] xcsy.[ch] xgrl.[ch]

SYNTAX

(SEND <ary> :GET <:PROPERTY> [<default-value>])
(SEND <ary> :SET <:PROPERTY> <value>)
(SEND <ary> :REMPROP <:PROPERTY>)
(SEND <ary> :PROPERTY-LIST-LENGTH)
(SEND <ary> :PROPERTY-LIST-NTH <fix:index> [<default-value>])

DESCRIPTION

These two propertylist calls have nothing to do with the normal functionality of arrays and relations. They exist purely to allow the user to easily hang extra information on arrays for his own purposes. For example, you might keep track of who created a given relation by doing a (SEND <ary> :SET :CREATED-BY "Jane du Pont")

If :GET does not find the requested property, it returns <default-value> if one was provided, otherwise signals an error.

:REMPROP removes the given property from the propertylist, returning (:PROPERTY . <val>) if the property was successfully removed, else NIL.

:PROPERTY-LIST-LENGTH and :PROPERTY-LIST-NTH are provided to allow iteration through all properties on object, the latter's <default-value> works just as on :GET.


Go to the first, previous, next, last section, table of contents.