我有一个 receive.tcl 脚本,它只包含一个由一些 1KLOC 组成的 proc
puts "DEBUG_1"
proc Receive { arg1 arg2} {
puts "DEBUG_2"
... TCL Code
}
puts "DEBUG_3"
现在我需要在这么多不同的脚本中使用这个 proc Receive;让我们说; 1.tcl
2.tcl
3.tcl
依此类推,所有这些1.tcl
2.tcl
都是从 Master( Master.tcl
) 调用的。
source PATH/receive.tcl
是否有必要在每个等中包含/写入1.tcl
2.tcl
;使用Receive
.
或者
我可以从一些 Master( ) 脚本中调用“source PATH/receive.tcl” Master.tcl
,它可以在任何1.tcl
2.tcl
等等中进一步使用,而无需单独包含任何内容;TCL 解释器会存储/记住这个 proc Receive 并可以在任何进一步的脚本中使用吗?
问题:当我“$PATH/receive.tcl
在每个1.tcl
2.tcl
等等中而不是在Master.tcl
;Master.tcl
包含source $PATH/1.tcl
source $PATH/2.tcl
等等;然后我正在执行Master.tcl
。
- 在第一次迭代中
1.tcl
成功执行; - 口译员会进去
receive.tcl
;它正在打印DEBUG_1
,DEBUG_3
并被成功proc Receive
使用。1.tcl
- 但是当解释器移动到
2.tcl
它时发现source $PATH/receive.tcl
- 口译员前往
receive.tcl
- TCL一次又一次地崩溃;意味着我只能看到
DEBUG_1
;之后的分段错误。