我想创建一个列表,它的每个元素都是一个数组,类似于C语言中的结构数组.
可以在TCL中完成吗?如果可以的话?非常感谢!
我做了一些尝试,但它失败了......
tcl>set si(eid) -1
tcl>set si(core) 0
tcl>set si(time) 0
tcl>lappend si_list "$si"
Error: can't read "si": variable is array
Run Code Online (Sandbox Code Playgroud)
evi*_*tto 10
您无法创建数组列表,但是您可以创建一个功能相同的dicts列表(从键到值的映射):
set mylist [list [dict create a 1 b 2] [dict create a 4 b 5]]
puts [dict get [lindex $mylist 1] a]
Run Code Online (Sandbox Code Playgroud)
要将其作为数组,您需要使用[array get]和[array set]将数组更改为字符串:
set si(eid) -1
set si(core) 0
set si(time) 0
lappend si_list [array get si]
Run Code Online (Sandbox Code Playgroud)
并把它拿回来
array set newsi [lindex $si_list]
puts $newsi(eid)
Run Code Online (Sandbox Code Playgroud)
dicts让您直接处理{name value}列表.