Posted to tcl by evilotto at Fri Mar 08 23:19:40 GMT 2013view raw

  1. proc dict_withArray {var avar body} {
  2. upvar $var dvar
  3. array set $avar $dvar
  4. eval $body
  5. set dvar [dict create {*}[array get $avar]]
  6. }
  7.  
  8. set d {a 1 b 2 c 3}
  9. dict_withArray d r {
  10. puts $r(a)
  11. puts $r(b)
  12. set r(b) hello
  13. puts $r(b)
  14. }
  15. puts $d
  16.