Posted to tcl by evilotto at Thu Jul 03 17:14:29 GMT 2014view raw

  1. proc dict_explode {dictVal {prefix {}} {level 1}} {
  2. if {$prefix == ""} {error "prefix must be specified"}
  3. dict for {k v} $dictVal {
  4. uplevel $level [list set ${prefix}${k} $v]
  5. if {[llength $v] % 2 == 0} {
  6. dict_explode $v ${prefix}${k}. [expr {$level+1}]
  7. }
  8. }
  9. }