在 Tcl 中用换行符连接字符串

时间:2021-01-29 04:08:27

标签: tcl

我无法在 tcl 中连接具有新行的字符串。新行将被忽略。有没有办法克服这个问题?

% set pst_data "Power states :-\n"
Power states :-

% set pst_data [concat $pst_data "vcc1\t 1 0 1\n"]
Power states :- vcc1     1 0 1
% set pst_data [concat $pst_data "vcc2\t 2 2 0\n"]
Power states :- vcc1     1 0 1 vcc2      2 2 0
% 

我希望每次输出都在单独的新行中

2 个答案:

答案 0 :(得分:3)

它在 manual 中提到:

<块引用>

此命令将每个参数与空格连接在一起在从每个参数中删除前导和尾随空格后

您可以尝试改用 append

% set pst_data "Power states :-\n"
Power states :-

% append pst_data "vcc1\t 1 0 1\n"
Power states :-
vcc1     1 0 1

% append pst_data "vcc1\t 1 0 1\n"
Power states :-
vcc1     1 0 1
vcc1     1 0 1

%

答案 1 :(得分:0)

当然 append 是完成此操作的正确方法,但在 Tcl 中您甚至可以像这样执行连接:

% set pst_data "Power states :-\n"
Power states :-

% set pst_data "${pst_data}vcc1\t 1 0 1\n"
Power states :-
vcc1     1 0 1
相关问题