Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在tcl中创建多列表的tcl列表?_Tcl_Itcl - Fatal编程技术网

如何在tcl中创建多列表的tcl列表?

如何在tcl中创建多列表的tcl列表?,tcl,itcl,Tcl,Itcl,我有一个变量中的对象列表,存储为$m_objs,使用每个对象,我可以得到4个不同的值,如demoRoot demoSuite demoCase和ic,因此每个对象都必须是这样的列表: set data { {demoRoot1 demoSuite1 demoCase1 ic1} {demoRoot2 demoSuite2 demoCase2 ic2} {demoRoot3 demoSuite3 demoCase3 ic3} {demoRoot4 demoSuite

我有一个变量中的对象列表,存储为$m_objs,使用每个对象,我可以得到4个不同的值,如demoRoot demoSuite demoCase和ic,因此每个对象都必须是这样的列表:

set data {
    {demoRoot1 demoSuite1 demoCase1 ic1}
    {demoRoot2 demoSuite2 demoCase2 ic2}
    {demoRoot3 demoSuite3 demoCase3 ic3}
    {demoRoot4 demoSuite4 demoCase4 ic4}
    {demoRoot5 demoSuite5 demoCase5 ic5}
    {demoRoot5 demoSuite5 demoCase5 ic5}
}
set tests [list]

foreach ic $m_ics \
{
    set icRoot [$ic getRoot]
    set icSuite [$ic getSuite]
    set icCase [$ic getCase]
    set icName [$ic getName]
    set icList "$icRoot $icSuite $icCase $icName"
    lappend tests $icList
}
所以我试着像这样使用foreach循环:

set data {
    {demoRoot1 demoSuite1 demoCase1 ic1}
    {demoRoot2 demoSuite2 demoCase2 ic2}
    {demoRoot3 demoSuite3 demoCase3 ic3}
    {demoRoot4 demoSuite4 demoCase4 ic4}
    {demoRoot5 demoSuite5 demoCase5 ic5}
    {demoRoot5 demoSuite5 demoCase5 ic5}
}
set tests [list]

foreach ic $m_ics \
{
    set icRoot [$ic getRoot]
    set icSuite [$ic getSuite]
    set icCase [$ic getCase]
    set icName [$ic getName]
    set icList "$icRoot $icSuite $icCase $icName"
    lappend tests $icList
}
我得到的输出只针对这样的一个迭代

puts $icList
PTSE2 actions misc rmon_counters
但是应该像我提到的那样获得输出,
set data{………..}

请帮我拿这个

更改这行:

set icList "$icRoot $icSuite $icCase $icName"
致:

这将创建
icList
作为列表而不是字符串,并将作为列表附加到
tests
列表中

参考资料:

更改此行:

set icList "$icRoot $icSuite $icCase $icName"
致:

这将创建
icList
作为列表而不是字符串,并将作为列表附加到
tests
列表中


参考资料:

The
put
仅打印一次迭代(最后一次)的值。列表列表构建在
tests
变量中;尝试打印吗?
put
只打印一次迭代(最后一次)的值。列表列表构建在
tests
变量中;试着打印那个?