使用Tcl脚本从列表的每个元素中加减一个数字

使用Tcl脚本从列表的每个元素中加减一个数字,tcl,Tcl,我有一个输入文件名“input.dat”,其值如下: 7 0 9 9 0 2 2 1 3 4 4 6 5 7 5 6 但结果是:092146762 有人能帮我解决这个问题吗?或者脚本中的错误是什么?如果有人能帮我编写一个正确的脚本,这也会很有帮助。我仍然不能100%确定您想要什么,但所有选项似乎都可以通过lmap命令解决,该命令用于对列表的每个元素应用操作 下面是如何将每个元素与-2连接起来: set values [lmap val $values { string cat $val

我有一个输入文件名“input.dat”,其值如下:

7 0 9 9 0 2 2 1 3 4 4 6 5 7 5 6 但结果是:
092146762


有人能帮我解决这个问题吗?或者脚本中的错误是什么?如果有人能帮我编写一个正确的脚本,这也会很有帮助。

我仍然不能100%确定您想要什么,但所有选项似乎都可以通过
lmap
命令解决,该命令用于对列表的每个元素应用操作

下面是如何将每个元素与
-2
连接起来:

set values [lmap val $values {
    string cat $val "-2"
}]
以下是如何从每个元素中减去2:

set values [lmap val $values {
    expr {$val - 2}
}]

我仍然不能100%确定您想要什么,但所有选项似乎都可以通过
lmap
命令解决,该命令用于对列表的每个元素应用操作

下面是如何将每个元素与
-2
连接起来:

set values [lmap val $values {
    string cat $val "-2"
}]
以下是如何从每个元素中减去2:

set values [lmap val $values {
    expr {$val - 2}
}]

$values
列表是该列中的数据,到目前为止,您所做的只是将其打印为一个字符串,并附加一个文本
-2
。但你所说的“加减任何数字”到底是什么意思呢?我可以用几种方法来解释,所以你需要精确。@DonalFellows我想从列表的每个元素中减去2。例如,0-2、9-2、2-2,然后再次将值作为列表获取。你能帮帮我吗?话题之外,但我能问一下为什么每次你有新问题时都要创建一个新帐户吗?
$values
列表是该列中的数据,到目前为止,你所做的只是将其打印为一个字符串,并附加一个文本
-2
。但你所说的“加减任何数字”到底是什么意思呢?我可以用几种方法来解释,所以你需要精确。@DonalFellows我想从列表的每个元素中减去2。例如,0-2、9-2、2-2,然后再次将值作为列表获取。你能帮我吗?离题了,但我能问你为什么每次有新问题时都要创建一个新帐户吗?我相信是后者。我已经给出了两者。这将是好的,除了它的所有必须被后传到一些疯狂的旧版本的Tcl…@DonalFellows是的,我发现了我的错误。实际上,我已经编写了puts“$values-2”,但正确的命令是puts“[expr{$values-2}]”。我跳过了“expr”部分;现在问题解决了。非常感谢你的宝贵意见。我相信是后者。我两者都给了。这将是好的,除了它的所有必须被后传到一些疯狂的旧版本的Tcl…@DonalFellows是的,我发现了我的错误。实际上,我已经编写了puts“$values-2”,但正确的命令是puts“[expr{$values-2}]”。我跳过了“expr”部分;现在问题解决了。非常感谢您的宝贵意见。