根据TkDocs:
这里的“1.0”代表插入文本的位置,可以读作“line 1, character 0”。这是指第一行的第一个字符;对于与程序员通常如何引用行和字符相关的历史约定,行号从 1 开始,字符号从 0 开始。
我以前没有听说过这个约定,我在谷歌上找不到任何相关的东西。谁能给我解释一下?
根据TkDocs:
这里的“1.0”代表插入文本的位置,可以读作“line 1, character 0”。这是指第一行的第一个字符;对于与程序员通常如何引用行和字符相关的历史约定,行号从 1 开始,字符号从 0 开始。
我以前没有听说过这个约定,我在谷歌上找不到任何相关的东西。谁能给我解释一下?
这实际上只不过是惯例,但这里有一个建议。
字符位置通常被认为与 Java 迭代器相同,它是指向两个字符之间位置的“指针”。因此,第一个字符是索引位置 0 之后的字符。例如,子字符串位于两个字符间位置之间。
另一方面,行位置通常更多地被认为是 .NET 枚举器,它是指向项目本身的“指针”,而不是介于两者之间的位置。因此,第一行是位置 1 处的行。
我认为您指的是 Tk 的文本小部件。手册页说:
行从 1 开始编号,以与使用此编号方案的其他 UNIX 程序保持一致。
虽然,我不确定它在谈论哪些 Unix 工具。
更新: 正如评论中提到的,看起来很多 unix 文本操作工具从 1 开始行号。并且 tcl/tk 具有 unix 起源,尽可能与底层操作系统环境兼容是有意义的。