有没有办法让我的简单 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应用程序并不是特别困难。