TCL脚本:变量作为函数的参数(TCL script: variable as argument o

2019-10-17 15:17发布

我想一些简单的脚本与阿米拉,它利用TCL,但我不能保证它的标准版本。 我想从一个对象读取属性,并将其分配给另一个对象。

在命令窗口中的程序将是以下几点:

此搜索getTransform

0.1 0.2 0.3 0 0 0 0 0 0 1

IMAGE2设置反式0.1 0.2 0.3 0 0 0 0 0 0 1

我想这样做,而无需手动复制粘贴getTransform的结果

以下不工作(taht就是一个setTransform不加参数执行)

Image2 setTransform [Image1 getTransform] 

要么

set myT=Image1 getTransform
Image2 setTransform $myT 

我相信,我只需要适当地使用$ [{,但我已经试过到目前为止还没有给出任何结果

Answer 1:

如果您使用的Tcl 8.5或更高版本,然后使用{*}参数扩展:

Image2 setTransform {*}[Image1 getTransform]

这是你想要什么。

如果您使用的Tcl的是旧版本,那么你必须使用eval ,一个非常有用的命令,其中如果不能正确使用的许多事情都可能出错:

eval [linsert [Image1 getTransform] 0 Image2 setTransform]

linsert用在这里建立一个propper列表,以避免双重置换(几乎总是不好)。



文章来源: TCL script: variable as argument of a function
标签: tcl