[Xotcl] ensemble alias

Stefan Sobernig stefan.sobernig at wu.ac.at
Thu Jan 5 23:22:28 CET 2012


Victor,

> Is it possible to have an alias to ensemble or multi-word commands?

Well, namespace ensembles are straight forward; you may find out the 
ensembled Tcl commands using e.g. [namespace ensemble configure string 
-map] and then use the fully-qualified command names as alias target:

package req nx::test

Object create o {
   :public alias stringLength ::tcl::string::length
}

? {o stringLength "xyz"} [string length "xyz"]

If you don't have an ensemble command at hand (e.g., the [string is] 
classes such as "integer", "boolean"), you want to bind in terms of a 
method, consider a forwarder:

o public forward stringIsBoolean string is boolean

? {o stringIsBoolean "false"} [string is boolean "false"]

A forwarder is needed, because the "boolean" selector does not map to a 
Tcl command, rather is an argument to a paramteric Tcl command 
(::tcl::string::is).

A mixed alternative would be ...

o public alias stringIs ::tcl::string::is
o public forward stringIsBoolean2 %self stringIs boolean

? {o stringIsBoolean2 "false"} [string is boolean "false"]

//stefan


More information about the Xotcl mailing list