我很困惑"加入"命令,这是我在tclsh中的代码:
% lappend aaa 1
1
% lappend aaa 2
1 2
% lappend aaa {3 4}
1 2 {3 4}
% join $aaa
1 2 3 4
所以列表aaa应该有3个元素:1,2和{3 4}。因为"加入"命令应该只是将所有元素连接在一起形成一个字符串,然后返回应该是" 1 2 {3 4}"因为列表只有3个元素。为什么join命令会破坏第3个元素?
答案 0 :(得分:2)
没有。第3个元素是一个字符串3 4
- 你看到的大括号实际上并不是字符串的一部分。您正在加入一个空格,因此字符串中的空格在视觉上不同。一个例子:
% lappend aaa 1
1
% lappend aaa 2
1 2
% lappend aaa {3 4}
1 2 {3 4}
% lappend aaa 5
1 2 {3 4} 5
% join $aaa :
1:2:3 4:5