Tcl 如何将数组转换为列表

Tcl 如何将数组转换为列表,tcl,Tcl,我试图读取文件中的每一行,但每次运行时都会出现错误: set fr [open temp.txt r] set a [read $fr] set b [split $a '\n'] foreach i $b{ *code* } 此代码工作正常: set fr [open input_file.txt r] set a [read $fr] close $fr set b [split $a \n] set fa [open temp.txt a] foreach i $b { #Proc

我试图读取文件中的每一行,但每次运行时都会出现错误:

set fr [open temp.txt r]
set a [read $fr]
set b [split $a '\n']
foreach i $b{
*code*
}
此代码工作正常:

set fr [open input_file.txt r]
set a [read $fr]
close $fr
set b [split $a \n]
set fa [open temp.txt a]
foreach i $b {
   #Process items in list b
   puts $fa $i
}
close $fa

echo不是Tcl命令,您正在拆分换行符和单引号上的输入。此外,应答脚本无法解决原始脚本的问题。阵列与列表的区别是什么?此外:
将$fa$i
放入循环中?关闭$fa怎么样?等等。谢谢,代码已更新。答案解决了“我试图读取文件中的每一行,但它给出了一个错误”的问题。标题“如何将数组转换为Tcl中的列表”似乎与这个问题无关。您仍然在单引号上拆分输入,这不是问题所在。要么将其
拆分为$a\n
要么
拆分为$a“\n”
。我不清楚您的问题。代码中没有Tcl数组,但有一个Tcl列表。在顶部,提供的脚本不可操作(
fa
vs.
fr
,执行顺序是无意义的)。提供一个MVE。