我需要使用" chan pipe"但我的TCL版本是8.5,我不能使用8.6。 这是我在8.6中的代码
lassign [chan pipe] read_pipe write_pipe
puts $write_pipe "AAA"
close $write_pipe
puts $read_pipe
你能建议任何解决方法吗?
答案 0 :(得分:1)
可以使用名为tclpipe
的此实现中基于TEA的扩展。它可以与(据称)任何版本的Tcl一起使用(在8.4和8.5上测试)。
package require pipe
lassign [pipe] readChanId writeChanId
...
close $readChanId; close $writeChanId
此扩展提供在根命名空间中创建的一个Tcl
命令pipe
。
代码取自chan pipe
命令的实现,目的是使Tcl
版本< = 8.5的此功能可用,同时不需要Tclx
包的存在。提供的命令的语法和语义与chan pipe
的语法和语义相同,只是名称不同。
源和Win32二进制文件(使用MSVC 6.0编译器构建)托管here。 确认源代码可以在Windows XP(MSYS / MinGW和MSVC 6.0)和Debian Linux(“Etch”)上构建和使用。