将列表加入变量中

时间:2017-01-13 13:40:20

标签: tcl

我在一个名为a_list的文件中有一个列表

top_a
.
.
.
top_e

现在我想将列表附加到变量数据中,该数据读取a_list,就像:

set data [read $RTL]
puts "flag1:$data"

&安培;输出是这样的:

flag1:top_a
top_b
top_c
top_d
top_e

现在我试图通过另一个包含列表的变量插入数据,例如变量是:

set fr "top_f top_g"

我希望将数据输出为

top_a
top_b
top_c
top_c
top_d
top_e
top_f
top_g

这样做的正确方法应该是什么,因为我已尝试过lappend或join,但我得到了类似的东西,

top_a top_b ... top_e {top_f top_f}

非常感谢任何帮助......

编辑:我能够缩小与foreach的关系

foreach list $fr{
set a $list
}

我有类似的东西:

top_f
top_g

我应该如何追加变量' a'变量数据'为:

top_a
top_b
top_c
top_c
top_d
top_e
top_f
top_g

1 个答案:

答案 0 :(得分:2)

eval lappend data $fr

如果您有Tcl 8.5+或

static int ComputerFailsOnTrue(bool flag)
{
    if (flag)
        throw null;
    return 10;
}
static IEnumerable<Lazy<double>> foo()
{
    yield return new Lazy<double>(()=>ComputerFailsOnTrue(true));
    yield return new Lazy<double>(()=>ComputerFailsOnTrue(false));
    yield return new Lazy<double>(()=>ComputerFailsOnTrue(false));
}
static public void Main()
{
    foreach (var item in foo().Skip(1).Select(l=>l.Value))
    {
        Console.WriteLine($"Hey {item}");
    }
    Console.ReadLine();
} 

如果你有8.4或更早(不支持,那么在这种情况下升级)。

文档: evallappend{*} (syntax)