jbr - 2013-07-16
This idea first appeared on c.l.t[L1 ] a while back.
Here is a slightly different implementation that silently creates deeply nested dicts without complaint.
proc ::tcl::dict::lappend2 {dict args} { upvar 1 $dict d if { ![dict exists $d {*}[lrange $args 0 end-1]] } { dict set d {*}[lrange $args 0 end-1] [list [lindex $args end]] } else { ::set list [dict get $d {*}[lrange $args 0 end-1]] ::lappend list [lindex $args end] dict set d {*}[lrange $args 0 end-1] $list } } namespace ensemble configure dict -map [dict merge [namespace ensemble configure dict -map] {lappend2 ::tcl::dict::lappend2}]
This inspired the ensemble implementation of string chunk
See Also: