如何迭代多行 tcl 字符串中的每一行?

How to iterate for each line in a multiline tcl string?

我有一个由几行组成的字符串:

set lines {
line 1
line 2
line 3
}
set lines [string range $lines 1 end-1]

我想执行与以下 python 代码等效的操作:

for l in lines.split('\n'):
    print('line is', l)

输出:

line is line 1
line is line 2
line is line 3

tcl 解决方案与python 基本相同:使用 split 将多行字符串转换为列表。

set lines {
line 1
line 2
line 3
}
set lines [string range $lines 1 end-1]

foreach l [split $lines \n] {
  puts "line is $l"
}

Try it online!

split man page