распечатать в конкретном месте TCL - PullRequest
0 голосов
/ 15 октября 2019

Есть ли способ напечатать аргумент в определенном месте? Я попытался использовать приведенную ниже команду, но каждый аргумент зависит от предыдущего.

puts [format "%0s%20s%30s%40s" $check $runtime $cpus $result]

Это значит, что если $ check является длинным именем, все остальные данные будут соответственно сдвинуты. Есть ли способ определить конкретное место для размещения var?

1 Ответ

1 голос
/ 15 октября 2019

Вы не указали, как бы вы хотели разрешить ситуацию, когда строка слишком длинна, чтобы уместить выделенное пространство. Предполагая, что вы хотите обрезать хвост строки, вы можете указать максимальную длину:

puts [format %-10.9s%-10.9s%-10.9s%-10.9s $check $runtime $cpus $result]

- - привязывает строки слева, 10 определяет ширину поля, а 9 ограничивает количество символовнапечатано.

Демонстрация:

set check "longcheckname"
set runtime "forever"
set cpus "all"
set result "passed"
puts [format %-10.9s%-10.9s%-10.9s%-10.9s $check $runtime $cpus $result]

Результат:

longcheck forever all passed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...