我想通过使用 tcl 中的 put 命令来更改控制台中显示的文本颜色以简化调试。我看到很多文章是 abt tk 而不是 tcl。仅供参考,我在 Windows 7 上使用 Active tcl。
我尝试过其他人提供的以下代码(http://www.tek-tips.com/viewthread.cfm?qid=1283356 http://www.tek-tips.com/viewthread.cfm?qid=1283356)但徒劳:puts "Why not \033\[34mG\033\[31mo\033\[33mo\033\[34mg\033\[32ml\033\[31me\033\[0m first ?"
请建议。
您引用的代码适用于我(OSX、Terminal.app;Tcl 8.4、8.5 和 8.6),我希望它在 Linux 上也能正常工作。 (在 Windows 上情况会有所不同,控制台的工作方式非常不同。)在 Linux 上失败表明问题不在 Tcl 中,而是在其他地方;我猜它在你的终端中,它不想遵守颜色代码。另一个外部可能性是您的终端出于某种原因更喜欢不同的转义序列。
解决第二个问题的方法是这样的:
proc color {foreground text} {
# tput is a little Unix utility that lets you use the termcap database
# *much* more easily...
return [exec tput setaf $foreground]$text[exec tput sgr0]
}
puts "Why not [color 4 G][color 1 o][color 3 o][color 4 g][color 2 l][color 1 e] first?"
# Hmm, that's clearer than using those escapes directly too!
如果这是第一个问题——你的终端无法显示颜色——那么你就会陷入困境,直到你更换终端。抱歉,事情确实就是这么简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)