私はリストのリストを返す手続きを持っています。最初に分割しないで内部リストにアクセスする方法を理解できません。私はきれいな方法がなければならないと確信しています。例えばtclプロシージャから返されたリストのリストへのアクセス
、これ:
proc return_l_of_l {} {
set x {a b c}
set y {d e f}
return [list [list $x] [list $y]]
}
set l [return_l_of_l]
set x_list [lindex $l 0]
set y_list [lindex $l 1]
foreach x $x_list { puts $x }
foreach y $y_list { puts $y }
出力:
a b c
d e f
ない:
a
b
c
d
e
f
リストのリスト内の要素を印刷する場合、それは '[連結{*} $ Lを] foreachの' {$ A置く}のようなものを使用することをお勧めしますが必要があると思います。 'concat {*} $ l'は内側の要素を含むフラットなリストを作成します。つまり、外側のリストにいくつのリストがあるかは関係ありません:あなたは1つの' foreach'コマンドでそれらを印刷することができます。 –