Tcl crange与字符串范围

时间:2015-05-26 04:18:20

标签: string tcl

Tcl wiki为什么要考虑string range而不是crange?我知道crange是TclX而string range不是,但还有其他差异吗?如果没有,那么为什么crange存在?

2 个答案:

答案 0 :(得分:2)

crange对索引表达式的语法略有扩展。如果您不需要该语法(并且您可能不需要),则应使用核心命令string range,因为它可以避免对TclX的依赖,并使您的代码对不熟悉扩展的人更具可读性。

crange可能不会很快从TclX中消失,因为这会破坏旧代码,但请考虑弃用。

答案 1 :(得分:1)

crange命令较旧,是扩展程序包TclX的一部分,它现在是Tcl本身许多功能的来源。 string range可以被认为是Tcl在精神上采用crange的核心。不可否认,这个采用发生在很久以前(根据Tcl changes文件的9/6/91,所以它是Tcl 6.0中的一个新功能。)

应遵循Wiki页面上的建议;不要将crange用于新代码。