Adrian Waddell wrote: > 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 > element > > library(tcltk) > .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 > > However > >> 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,
Ow, that's been a while... However tcl('test', tclvalue(a)) seems to do the trick, as does tcl('test', tclObj(a)) The latter presumably being preferable, since it avoids conversion to and from an R object. If I remember these matters correctly, you are seeing the difference between "set RTcl1" and "test $RTcl1". -- Peter Dalgaard Center for Statistics, Copenhagen Business School Phone: (+45)38153501 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel