Posted to tcl by mr_calvin at Tue Aug 01 13:17:16 GMT 2017view pretty
proc spunk {l} { set flds [dict create] foreach {f v} $l { if {![string is list $v] || [llength $v]==1} { dict lappend flds $f $v } else { dict lappend flds $f {*}$v } } return $flds } set x1 "-a {\{}c} -x 1 -z 3" set x2 "-a {\{}c} -x 1 -z 3 -a {2 3}" dict get [spunk $x2] -a; # {\{}c} 2 3; ok dict get [spunk $x1] -a; # {{}c} dict get $x1 -a; # {}c