[Rd] accessing tcl variables within R and tcl

Adrian Waddell ml_a at waddell.ch
Thu Aug 12 20:14:34 CEST 2010

Dear R users,

I have some troubles with dealing with tclObj objects. I try to explain
it with a toy example:

Say I define the following tcl procedure which just prints out each list

.Tcl('proc test {myList} {
    foreach i $myList {
      puts stdout  $i

and I call it with:

> tcl('test',letters[1:5])    # Works as expected

Now say I define a tcl variable first:

> a <- tclVar("")
> tclObj(a) <- as.tclObj(letters[1:5])

> tcl('set',a)  # output list


> tcl('test',a) # does not work as expected, returns the variable name

Why not? In fact, how do get the name of the "a" list in tcl (something
like RTcl...) so I could use it as follows
> .Tcl('test $RTcl1') #works

Loops are much quicker in tcl than in R, hence I try to do some
computations in tcl and not via wrapper function in R. I therefore need
a way to easily access tcl variables from within R and tcl.

Thanks for any help,

Adrian Waddell

More information about the R-devel mailing list