| tclVarFun {tcltk2} | R Documentation |
These functions are intended to provide a better "duality" between the name of variables in both R and tcl, including for function calls. It is possible to define a variable with the same name in R and tcl (the content is identical, but copied and coerced in the two respective environments). It is also possible to get the value of a tcl variable from R, and to call a R function from within tcl. These functionnalities are provided in the tcltk package, but Tcl variable usually have different internal names as R equivalents.
makeTclNames(names, unique = FALSE) tclFun(f, name = deparse(substitute(f))) tclGetValue(name) tclSetValue(name, value) tclVarExists(name) tclVarFind(pattern) tclVarname(name, init = "", keep.existing = TRUE)
names |
Transform names so that they are valid for variables in tcl |
unique |
Should these names be unique in the vector? |
f |
An R function. currently, do no support functions with arguments. |
name |
The name of a variable |
value |
The value to place in a variable |
pattern |
A pattern to search for |
init |
Initial value to use when creating the variable |
keep.existing |
If the tcl variable already exist, should we keep its content? |
These functions are similar to tclVar() from package tcltk, except for
the following change: here, it is possible to propose a name for the created
tcl variable, or to set or retrieve the content of a tcl variable that is not
mirrored in R.
Most of these functions return a tclVar object.
Philippe Grosjean
## Not run:
## These cannot be run by examples() but should be OK when pasted
## into an interactive R session with the tcltk package loaded
## Tcl functions and variables manipulation
tclVarExists("tcl_version")
tclVarExists("probably_non_existant")
tclVarFind("tcl*")
# Using tclVarname() and tclGetValue()... intented for better match between R and Tcl variables
Test <- tclVarname("Test", "this is a test!")
# Now 'Test' exist both in R and in Tcl... In R, you need to use tclvalue(Test) to retrieve its content
# If a variable already exists in Tcl, its content is preserved using keep.existing = TRUE
.Tcl("set A_Variable {just to test...}") # Create a variable in Tcl and assign "just a test..." to it
A_Variable <- tclVarname("A_Variable", "something else?") # Create the dual variable with same name
tclvalue(A_Variable) # Content of the variable is not changed!
# If you want to retrieve the content of a Tcl variable, but do not want to create a reference to it in R, use:
.Tcl("set Another_Variable {something in it}") # Create a Tcl variable, not visible from R
tclGetValue("Another_Variable") # Get its content in R
## End(Not run)