【问题标题】:how to create tcl list of multiple list in tcl?如何在 tcl 中创建多个列表的 tcl 列表?
【发布时间】:2017-01-18 07:10:09
【问题描述】:

我有一个存储为 $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}
}

所以我尝试像这样使用 foreach 循环:

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 {...........}

请帮我拿这个

【问题讨论】:

  • puts 仅打印一次迭代(最后一次)的值。列表列表内置在tests 变量中;试试打印?

标签: tcl itcl


【解决方案1】:

改变这一行:

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

到:

set icList [list $icRoot $icSuite $icCase $icName]

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

参考:list

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多