在tcl中添加数组元素

时间:2014-01-09 17:19:30

标签: arrays tcl addition

我最近开始在Tcl编程,我发现难以为我的问题开发代码。 我必须从相同长度的用户输入两个数组元素,然后我发现添加了两个数组元素并将其存储在第三个数组中。 例如arr1包含[1 2 3 4],arr2包含[2 3 4 5]。所以我的第三个数组应该给我[3 5 7 9]作为输出。

2 个答案:

答案 0 :(得分:0)

假设你在谈论tcl列表而不是tcl数组,你可以这样做:

set l1 {1 2 3 4}
set l2 {2 3 4 5}
foreach e1 $l1 e2 $l2 {
    lappend l3 [expr "$e1 + $e2"]
}

这里的诀窍是这个tcl可以traverse multiple lists simultaneously in a foreach loop

如果您需要input from stdin, you can use the gets command一次获得一行:

gets stdin l1
gets stdin l2
foreach e1 $l1 e2 $l2 {
    lappend l3 [expr "$e1 + $e2"]
}

答案 1 :(得分:0)

如果你有Tcl 8.6,你可以使用新的lmap命令:

set l1 {1 2 3 4}
set l2 {2 3 4 5}
set l3 [lmap x $l1 y $l2 {expr {$x + $y}}]