variable substitution in for each loop- tcl tk programming

Viewed 47

I am trying to find out number of elements failed and the results are to be printed in a .csv file. this is my code,

set n_min_len 10
set n_max_len 50
set n_angle 60
foreach check {"min length" "max length" "angle"} \
        fail {$n_min_len $n_max_len $n_angle} {
   puts $file [format %30s%10s "$check...." "$fail"]
   }

I get output as min length....$n_min_len max length....$n_max_len and so on. Instead I wanted output as min length....10 max length....50

can someone help me, how to get this.

thank you!!

1 Answers

The problem is with this part:

{$n_min_len $n_max_len $n_angle}

The braces block any substitution. Instead you should write

"$n_min_len $n_max_len $n_angle"

or

[list $n_min_len $n_max_len $n_angle]
Related