Posted to tcl by aspect at Thu Mar 19 01:05:34 GMT 2015view raw
- proc threet {} {
- tailcall ::foreach _ {1 2 3} {puts t:[incr three]}
- }
- proc threeu {} {
- uplevel 1 [list ::foreach _ {1 2 3} {puts u:[incr three]}]
- }
- proc aa {} {
- threet
- threeu
- expr {$three == 6}
- }
- puts aa:[aa] ;# aa:1 - as expected
- namespace eval ens {
- namespace ensemble create
- }
- namespace ensemble configure ens -map {threet ::threet threeu ::threeu}
- proc ab {} {
- ens threet
- ens threeu
- expr {$three == 6}
- }
- puts ab:[ab] ;# ab:1 - as expected
- set map [namespace ensemble configure array -map]
- dict set map threet ::threet
- dict set map threeu ::threeu
- namespace ensemble configure array -map $map
- proc ac {} {
- array threet
- array threeu
- expr {$three == 6}
- }
- puts ac:[ac] ;# "ac:" - explain that!
- if 0 {
- # full output:
- t:1
- t:2
- t:3
- u:4
- u:5
- u:6
- aa:1
- t:1
- t:2
- t:3
- u:4
- u:5
- u:6
- ab:1
- u:1 *
- u:2 *
- u:3 *
- t:1 *
- t:2 *
- t:3 *
- ac: *
- }