gpt4 book ai didi

tcl - 如何将stdout重定向到tcl中的文件

转载 作者:行者123 更新时间:2023-12-04 03:07:47 25 4
gpt4 key购买 nike

我如何将proc输出重定向到tcl中的文件中,例如,我有一个proc foo,并且想将foo输出重定向到文件栏中。但是得到了这个结果

% proc foo {} { puts "hello world" }
% foo
hello world
% foo > bar
wrong # args: should be "foo"

最佳答案

如果您无法更改代码以使用要写入的 channel 的名称(最可靠的解决方案),则可以使用技巧将stdout重定向到文件:重新打开。

proc foo {} { puts "hello world" }
proc reopenStdout {file} {
close stdout
open $file w ;# The standard channels are special
}

reopenStdout ./bar
foo
reopenStdout /dev/tty ;# Default destination on Unix; Win equiv is CON:

请注意,如果执行此操作,则会丢失初始 stdout的定向位置(除非您使用TclX的 dup 保存副本)。

关于tcl - 如何将stdout重定向到tcl中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8531031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com