попробуйте следующее:)
[(c1, c2, c3) for c1 in cc1 for c2 in cc2 for c3 in cc3]
Рассмотрим, что делает auto_mkindex
: он создает файл tclIndex
, который содержит
set auto_index(print_name) [list source [file join $dir TypeA.tcl]]
set auto_index(dummy) [list source [file join $dir TypeA.tcl]]
set auto_index(::TypeB::print_name) [list source [file join $dir TypeB.tcl]]
Когда вы namespace import TypeB::*
, тогда tcl выполняет source [file join $dir TypeB.tcl]
, и процесс print_name
вытягивается в глобальное пространство имен.
Что происходит, когда вы звоните dummy
? this: source [file join $dir TypeA.tcl]
- тянет процесс dummy
в глобальное пространство имен. Но в то же время, print_name
процесс переопределен .
На этом этапе вы все равно можете позвонить TypeB::print_name
Вам нужно будет выполнить одно из:
namespace import TypeB::*
, или dummy
.