tclVarFun {tcltk2}R Documentation

Manipulate R variables and functions from tcl and back

Description

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.

Usage

  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)

Arguments

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?

Details

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.

Value

Most of these functions return a tclVar object.

Author(s)

Philippe Grosjean

See Also

tk2theme

Examples

  ## 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)

[Package tcltk2 version 0.9-5 Index]