is manual page - [incr Tcl]

Tcl8.6/Tk8.6 Documentation > [incr Tcl] Package Commands, version 4.1.1 > is

Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

NAME

itcl::is — test argument to see if it is a class or an object

SYNOPSIS

itcl::is option ?arg arg ...?

DESCRIPTION

The is command is used to check if the argument given is a class or an object; depending on the option given. If the argument if a class or object, then 1 is returned. Otherwise, 0 is returned. The is command also recognizes the commands wrapped in the itcl code command.

The option argument determines what action is carried out by the command. The legal options (which may be abbreviated) are:

is class command
Returns 1 if command is a class, and returns 0 otherwise.

The fully qualified name of the class needs to be given as the command argument. So, if a class resides in a namespace, then the namespace needs to be specified as well. So, if a class C resides in a namespace N, then the command should be called like:

is N::C
    or
is ::N::C

is object ?-class className? command
Returns 1 if command is an object, and returns 0 otherwise.

If the optional "-class" parameter is specified, then the command will be checked within the context of the class given. Note that className has to exist. If not, then an error will be given. So, if className is uncertain to be a class, then the programmer will need to check it's existance beforehand, or wrap it in a catch statement.

So, if c is an object in the class C, in namespace N then these are the possibilities (all return 1):

set obj [N::C c]
itcl::is object N::c
itcl::is object c
itcl::is object $obj
itcl::is object [itcl::code c]

KEYWORDS

class, object
Copyright © 1993-1998 Lucent Technologies, Inc.