【问题标题】:TCL puts stream: Can I know what stream is? stdout? stderr? file?TCL 放流:我能知道流是什么吗?标准输出?标准错误?文件?
【发布时间】:2013-12-09 19:14:56
【问题描述】:

由于复杂的原因,我不得不劫持“puts”例程。我想根据“流”是什么来做不同的事情

proc myPuts { stream msg } {

      if < stream is stdout >
          ....
      elseif < stream is stderr >
           ...
      else
           ...

}

有什么方法可以知道流参数是标准输出、标准错误还是 TCL 内部的文件?

谢谢,

【问题讨论】:

    标签: tcl


    【解决方案1】:

    据我所知,Tcl 中的标准输出流是“stdout”,而标准错误是“stderr”。如果使用 $stream 的值为“stdout”的puts $stream "string",它会转到标准输出;与标准错误类似。

    puts 的正常调用将流参数视为可选;您的 myPuts 将需要做同样的事情,并将丢失的操作数视为标准输出。除此之外,我相信这只是一个问题

    if {$stream eq "stdout"} {
        # do your stdout thing
    } elseif {$stream eq "stderr"} {
        # do your stderr thing
    } else {
        # do your file handle thing
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多