Posted to tcl by evilotto at Thu Jul 03 17:46:47 GMT 2014view raw

  1. proc dict_flatten {dictVal} {
  2. dict for {k v} $dictVal {
  3. if {[llength $v] % 2 == 0} {
  4. set dictVal [dict remove $dictVal[set dictVal {}] $k]
  5. dict for {sk sv} [dict_flatten $v] {
  6. dict set dictVal ${k}.${sk} $sv
  7. }
  8. }
  9. }
  10. return $dictVal
  11. }
  12.