delete - delete things in the interpreter
itcl::delete option ?arg arg ...?
The delete command is used to delete things in the
interpreter. It is implemented as an ensemble, so extensions can add their
own options and extend the behavior of this command. By default, the
delete command handles the destruction of namespaces.
The option argument determines what action is carried out
by the command. The legal options (which may be abbreviated) are:
- delete class
name ?name...?
- Deletes one or more [incr Tcl] classes called name.
This deletes all objects in the class, and all derived classes as well.
If an error is encountered while destructing an object, it
will prevent the destruction of the class and any remaining objects. To
destroy the entire class without regard for errors, use the
"delete namespace" command.
- delete object
name ?name...?
- Deletes one or more [incr Tcl] objects called name.
An object is deleted by invoking all destructors in its class hierarchy,
in order from most- to least-specific. If all destructors are successful,
data associated with the object is deleted and the name is removed
as a command from the interpreter.
If the access command for an object resides in another
namespace, then its qualified name can be used:
itcl::delete object foo::bar::x
If an error is encountered while destructing an object, the delete
command is aborted and the object remains alive. To destroy an object without
regard for errors, use the "rename" command to destroy the
object access command.
- delete namespace
name ?name...?
- Deletes one or more namespaces called name. This deletes all
commands and variables in the namespace, and deletes all child namespaces
as well. When a namespace is deleted, it is automatically removed from the
import lists of all other namespaces.
namespace, proc, variable, ensemble