在 Tcl proc 中,我需要引用此 proc 上下文以及上级上下文中的变量,因为获取源的文件在那里使用变量。因此,我尝试编写类似以下内容的代码:
proc source_file {file} {
uplevel {source $file }
}
问题在于,在“uplevel”命令中,我可以引用顶层的变量,但现在本地 $file 变量未定义。我希望可以通过在 uplevel 上下文中将 proc 变量公开为 file_up 来解决这个问题,但这也不起作用:
proc source_file {file} {
upvar "file_up" $file
uplevel {source $file_up }
}
source_file test.tcl
can't read "file_up": no such variable
我做错什么了?