在对象的TCL中创建列表

时间:2014-03-18 15:02:19

标签: class oop tcl

我是TCL的新手,我正在开发一个项目,我需要从不同的列表中创建一个对象列表,该列表包含我用来访问某些数据的地址。我写的这个类包含了这个数据。到目前为止我遇到的问题是如何创建对象列表

for {set i 0} {$i<$len} {incr i} {
    set dat [lindex $PTR_ARR $i]
    if { $dat != 0x0000000000000000 } {
        set name "Slot Context$i"
        Slot_Context $name $dat 
        append $obj_arr $ptr
    }   
}

PTR_ARR-是将传递给类的指针列表 这个实现不起作用,我得到错误,我试图搜索信息,但几乎没有关于TCL中类的实现的信息。 你对我能做些什么有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果obj_arr是包含您尝试追加的数组的变量的名称,则追加到它的正确方法是a)使用变量 name 而不是append语句中的,以及b)使用lappend(list append)而不是append(string append):

lappend obj_arr $ptr

如果要附加实际对象而不是$ptr,请按以下方式添加:

lappend obj_arr [Slot_Context $name $dat]

以上调用Slot_Context命令,然后将该命令的结果附加到名为obj_arr的列表中。