TCL - 将项目附加到列表时的项目条件

问题描述 投票:0回答:1

我有这个清单

set csv [list]
lappend csv [list \
a \
b \
c \
[expr {[cfg::get enable_all_columns]
? {
d
}
: {}
}]  \
e \
f \
g]

仅当

d
enable_all_columns
时,我才需要添加元素
1
。问题是,使用这种方法,如果它是
0
,它会返回一些空值,从而在
csv
报告中创建一个新列。

那个

lappend
输出这个列表
{a b c d e f g}
我尝试打破
lappend
来放置条件,然后添加最后一个条件,但这会导致
{a b c} d e f g
我也尝试过
linsert
但效果是一样的

set csv [list]

lappend csv [list \
a       \
b]

set csv [linsert $csv 1 x]

puts "$csv"
list insert append tcl
1个回答
0
投票

我会这样做:

set csv {a b c e f g}
if {[cfg::get enable_all_columns]} {
    set csv [linsert $csv 3 d]
}
© www.soinside.com 2019 - 2024. All rights reserved.