除了最后一个打印语句之外,在每个打印语句之后打印逗号

Mic*_*eal 0 foreach tcl

我的 foreach 循环逻辑需要一些帮助:

除了循环中的最后一个语句外,我需要在每个打印语句后放置一个逗号

前任: blah,blah2,blahlast

以下代码甚至在最后一条语句之后放置逗号。

 foreach row $regions {
            set name [lindex $row 0]
            set id [lindex $row 1]
            puts "{'name':'$name', 'val':'$region_id'}"
            puts ","

        }
Run Code Online (Sandbox Code Playgroud)

也许如果我计算它要循环的次数,我可能会检查一个 if 条件来放置逗号直到它的最后一次迭代

RHS*_*ger 5

处理它的另一种方法是构建一个要打印的项目列表,并在最后加入它:

set lines {}
foreach row $regions {
    set name [lindex $row 0]
    set region_id [lindex $row 1] ;# changed this from id to region_id, seemed right
    lappend lines "{'name':'$name', 'val':'$region_id'}"
}
puts [join $lines ",\n"]
Run Code Online (Sandbox Code Playgroud)