Posted to tcl by egavilan at Fri Apr 26 00:52:01 GMT 2024view pretty
proc ::tcl::dict::pop {var args} { upvar 1 $var lvar ::set value [get $lvar {*}$args] unset lvar {*}$args return $value } namespace ensemble configure ::dict -map [dict merge \ [namespace ensemble configure ::dict -map] \ [dict create pop ::tcl::dict::pop]] # usage: # % set var {a 1 b 2 c 3} # a 1 b 2 c 3 # % dict pop var a # 1 # % set var # b 2 c 3 # % dict pop var c # 3 # % set var # b 2