可以在tcl中创建一个dict数组吗? 数组包含元素“a,b,c” 在数组元素中,“a”包含一些值&指向dict包含{key,value} 在数组元素中,“b”包含一些值&指向dict包含一些{key,value} 类似于“c”也是
答案 0 :(得分:0)
是的,可以做到:
(1)% set myarray(a) [dict create user john password iforgot]
user john password iforgot
(2)% set myarray(b) [dict create user trish password samehere]
user trish password samehere
(3)% parray myarray
myarray(a) = user john password iforgot
myarray(b) = user trish password samehere
(4)% # Get password for user in slot a
(5)% dict get $myarray(a) password
iforgot
dict只是一个普通的列表,对于数组的值很好。在这种情况下,我有一个数组myarray
,其中包含两个索引,a
和b
。
你也可以使用dict的词典:
set master [dict create]
dict set master a [dict create user john password iforgot]
dict set master b [dict create user trish password samehere]
您还可以使用Tclx
键控列表:
(97)% package require Tclx
(98)% keylset db a.name john a.password iforgot b.name trish b.password samehere
(99)% puts $db
{a {{name john} {password iforgot}}} {b {{name trish} {password samehere}}}
(100)% keylkeys db
a b
(101)% keylget db a
{name john} {password iforgot}
(102)% keylget db a.name
john
键控列表的好处是键可以嵌套:a.name
,a.password
,...