Вы должны сделать:
dict for {key value} $words {
puts "$key $value"
}
При чтении документации dict
позаботьтесь о том, какие подкоманды требуют dictionaryVariable (например, dict incr
) и которые требуют dictionaryValue (например, dict for
)
Для хорошего форматирования, как предлагает Донал, вот очень краткий метод:
set maxWid [tcl::mathfunc::max {*}[lmap w [dict keys $words] {string length $w}]]
dict for {word count} $words {puts [format "%-*s = %s" $maxWid $word $count]}
Или посмотрите исходный код команды parray
для дальнейшего вдохновения:
parray tcl_platform ;# to load the proc
info body parray