2022年的 Tcl/Tk 编程入门参考 13.二次替换
TCL语言的语法里非常重要的就是替换功能,并且之前也介绍过,从左向右进行一次的替换操作。
subst 命令的作用就是在TCL语言替换完毕之后,再对字符串进行一次替换。
用法:subst ?-nobackslashes? ?-nocommands? ?-novariables? 字符串
关于二次替换的用途,我在官方社区里找到了一个不错的例子:一段HTML代码(网页代码)在代码里包含变量名并用大括号括起来。在后续的代码里对变量进行设定,之后,对HTML代码进行二次替换,得到最终的网页代码。这相当于通过二次替换实现了简单的网页模板功能。
此外该命令有三个可选参数,用于调整替换规则。因为在大括号中的内容可以规避语法替换(即第一次替换),所以subst也可以用于有特殊需求、需要规避某些替换规则的情况。
此外,该命令有一些特殊情况需要注意:
多重大括号里的内容依然会被替换
涉及其它替换类型时,可选参数功能会失效
该命令还有更多用法,请参考官方文档。
虽然只是多加了一次替换,但可以玩出很多花样,请在代码中"直观"的使用该功能。