2018-10-08

Tcl: {*}

{*} was new in Tcl 8.5, and resulted in the Endekalogue becoming the Dodekalogue.

{*} 可以說是 Tcl 語法上一個比較大的修改(也可以說是語法糖)。將 List 的每個 item 轉變為目前 command 的參數。這是 TIP 293  的提案。

下面是簡單的測試:
set command [list set a 5]
set value [eval {*}$command]
puts $value

我最常用的是在使用 exec 時:
set command [list ls -al]
exec >@stdout 2>@stderr {*}$command


大抵來說,是個很好的改進。

沒有留言: