Posted to tcl by pooryorick at Tue Jul 24 16:52:02 GMT 2018view raw

  1. namespace eval ns1 {
  2. namespace ensemble create -unknown [list ::apply [list args {
  3. puts [list gug $args]
  4. list ::apply [list args {
  5. ::tailcall {*}$args
  6. } [uplevel 1 {namespace current}]] [lrange $args 1 end]
  7. }]]
  8.  
  9. proc p1 {} {
  10. return ns1p1
  11. }
  12. }
  13.  
  14. namespace eval ns2 {
  15. proc p2 {} {
  16. return ns2p2
  17. }
  18.  
  19. puts [ns1 p2]
  20. }
  21.  
  22.