Tcl crange 与字符串范围
Tcl crange vs. string range
为什么 Tcl wiki 说考虑 string range
而不是 crange
?我知道 crange
是 TclX 而 string range
不是,但是还有其他区别吗?如果不是,那为什么 crange
存在?
crange
对索引表达式有稍微扩展的语法。如果您不需要该语法(并且您可能不需要),您应该使用核心命令 string range
代替,因为它可以让您避免对 TclX 的依赖,并使您的代码对于不熟悉扩展的人来说更具可读性。
crange
可能不会很快从 TclX 中消失,因为这会破坏旧代码,但认为它已被弃用。
crange
命令较旧,是扩展包 TclX 的一部分,它现在是 Tcl 本身许多功能的来源。 string range
可以认为是Tcl在精神上采用crange
的核心。不可否认,采用发生在很久以前(9/6/91 根据 Tcl changes
文件,因此它是 Tcl 6.0 中的新功能)。
应遵循维基页面上的建议;不要将 crange
用于新代码。
为什么 Tcl wiki 说考虑 string range
而不是 crange
?我知道 crange
是 TclX 而 string range
不是,但是还有其他区别吗?如果不是,那为什么 crange
存在?
crange
对索引表达式有稍微扩展的语法。如果您不需要该语法(并且您可能不需要),您应该使用核心命令 string range
代替,因为它可以让您避免对 TclX 的依赖,并使您的代码对于不熟悉扩展的人来说更具可读性。
crange
可能不会很快从 TclX 中消失,因为这会破坏旧代码,但认为它已被弃用。
crange
命令较旧,是扩展包 TclX 的一部分,它现在是 Tcl 本身许多功能的来源。 string range
可以认为是Tcl在精神上采用crange
的核心。不可否认,采用发生在很久以前(9/6/91 根据 Tcl changes
文件,因此它是 Tcl 6.0 中的新功能)。
应遵循维基页面上的建议;不要将 crange
用于新代码。