配列を宣言する必要はありませんが、必要な場合:
array set variableName {}
最後の単語は空のリストです。配列に保存したいデフォルト値がある場合は、次のように言えます。
array set varname {key1 val1 key2 val2 ... ...}
興味があれば、parray
実装方法は次のとおりです。
proc parray {a {pattern *}} {
upvar 1 $a array
if {![array exists array]} {
error "\"$a\" isn't an array"
}
set maxl 0
set names [lsort [array names array $pattern]]
foreach name $names {
if {[string length $name] > $maxl} {
set maxl [string length $name]
}
}
set maxl [expr {$maxl + [string length $a] + 2}]
foreach name $names {
set nameString [format %s(%s) $a $name]
puts stdout [format "%-*s = %s" $maxl $nameString $array($name)]
}
}