在Tcl中,为什么空字符串的字符串长度是1而不是0?

问题描述 投票:0回答:1

tclsh
中,首先创建一个空字符串:

set a []

然后运行以下命令:

string length a

它返回

1

我期望空字符串的长度返回值为

0
,因为它被定义为字符串中的字符数。但我得到了
1
。这是为什么?我读了这个文档,但还是不明白。我在 Ubuntu 22.04 上使用 Tcl 8.6。

string tcl string-length ubuntu-22.04
1个回答
1
投票

要获取 Tcl 中变量“a”的值,请使用

$a
。当您运行像
string length a
这样的命令时,您实际上请求的是文字字符串“a”的长度。该字符串的长度为 1。要获取变量“a”中存储的字符串的长度,必须使用
string length $a

© www.soinside.com 2019 - 2024. All rights reserved.