使用 TkCon for REPL 类型 Tcl 控制台应用程序



有没有办法让我的简单 tcl 控制台(REPL 类型)应用程序如下所示:

puts "Enter your name"
set name [gets stdin]
puts "You entered: $name --- Enter another name"
set name2 [gets stdin]
puts "You entered: $name2"

可以使用tkcon,实际上我不想在Windows中使用cmd。

我使用 tkcon 尝试了以下代码:

package require tkcon 
tkcon show
puts "Enter your name"
set name [gets stdin]
puts "You entered: $name ---  Enter another name"
set name2 [gets stdin]
puts "You entered: $name2"

它奏效了。 但是在执行我的 tcl 脚本后,它会进入交互模式。它的行为应该像普通的控制台应用程序一样。并且它不应该显示"wize-win-3.2 % 2"提示。

您可以做的最简单的事情是在脚本末尾放置一个显式exit,可能会有某种延迟。您需要在事件循环中执行延迟,这意味着将exit放在回调中。

after 5000 exit
vwait for-termination;    # Arbitrary variable name ;-)

但是,如果您真的要首先要求GUI存在,那么制作一个简单的Tk应用程序并不是特别困难。

最新更新