tcl

时间:2017-02-10 14:33:05

标签: tcl

我是tcl的新手。我在tcl中有以下代码:

proc ::SMB::SmbSetDefaultConfig {{names all}}  {
variable SmbInfo 
variable SmbPortId

if {$names == "all"} {
set ports $SmbPortId
} else {
set ports $names
}

 foreach name $ports {
    set SmbInfo($name-SmbSetTxActive) 0
    set SmbInfo($name-SmbSetSpeed) 1000
    set SmbInfo($name-SmbSetDuplex) FDX
 }
}

我试图了解声明为变量的SmbInfo的数据结构。其他参数(SmbSetTxActive,SmbSetSpeed,SmbSetDuplex)看起来像是使用$ name创建一个关联数组。但是,我找不到有助于创建这种结构的变量类型。请帮忙。

1 个答案:

答案 0 :(得分:0)

Tcl的数组是关联数组。在封面下,它们使用哈希表实现,哈希表(有效地)使用字符串作为键并映射到Tcl_Var结构,该结构又包含该元素的当前值和一些位标志(用于表示)一堆东​​西,比如那个价值的含义。)