«Проблема» в том, что Tcl осторожно относится к управлению пространством. Это очень полезно, если у вас есть аргументы с пробелами (например, много полных имен файлов на машинах Windows), но иногда это может расстраивать, если вы хотите, чтобы список был автоматически разбит. Исправление состоит в том, чтобы указать Tcl, что это является чем-то, что вы хотите разбить на несколько слов.
Лучший ответ требует по крайней мере Tcl 8.5 (узнайте, какая у вас версия с info tclversion
, info patchlevel
или package require Tcl
).
vcom {*}$compilationArgs -work work polar2rect/sc_corproc.vhd
Если вы используете более старую версию Tcl, вам понадобится:
eval vcom $compilationArgs -work work polar2rect/sc_corproc.vhd
(Или это, если быть официально верным, но вряд ли кто-то беспокоится по понятным причинам)
eval [list vcom] $compilationArgs [list -work work polar2rect/sc_corproc.vhd]
Лучше всего поддерживается версия с синтаксисом расширения ({*}
). Вы можете определить, достаточно ли это легко; если это не так, это синтаксическая ошибка.