[ Non-logical Variables, Arrays, Bags, Shelves and Stores | Reference Manual | Alphabetic Index ]

erase_array(++ArraySpec)

Erases existing visible array or non-logical variable.
ArraySpec
Of the form Atom/Integer or just atom.

Description

Used to erase the visible array uniquely specified by ArraySpec.

Also used to erase the existing non-logical variable ArraySpec, if ArraySpec is of the form Atom/0, or just Atom.

Erasing reclaims the memory occupied by the array or variable.

Note: Up to ECLiPSe version 6.1 this predicate worked also on references.

Modes and Determinism

Modules

This predicate is sensitive to its module context (tool predicate, see @/2).

Exceptions

(4) instantiation fault
ArraySpec is not instantiated.
(5) type error
ArraySpec is not an atom or of the form Atom/Integer.
(41) array or global variable does not exist
ArraySpec specifies an array or variable which does not exist.

Examples

Success:
      local(array(a(4,3))), erase_array(a/2).
      setval(i,1), erase_array(i).
      setval(i,1), erase_array(i/0).

Error:
      erase_array(X).                  (Error 4).
      local(array(a(4,2))),
          erase_array(a(4,2)).         (Error 5).
      erase_array(no_array/1).         (Error 41).
      erase_array(no_array).           (Error 41).



See Also

current_array / 2, array / 1, array / 2, variable / 1, setval / 2