如何初始化Tcl的数组? [英] How to initialize an array in Tcl?
本文介绍了如何初始化Tcl的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
什么是初始化Tcl的空数组的正确方法?
我有以下的code(简体):
PROC parseFile {名results_array} {
upvar $ results_array结果
结果集(密钥)$值
}设置R1 {}
parseFile文件名R1
和我得到的错误:
错误:无法设置的结果(键):变量不是数组
块引用>解决方案您没有初始化Tcl数组,他们只是当你设置一个成员如下:
PROC藏匿{键ARRAY_NAME值} {
upvar $ ARRAY_NAME一个
设置($键)$值
}藏匿1 PVR 1
藏匿2 PVR 2
数组名PVR收益率:
二一
What is the proper way to initialize an empty array in Tcl?
I have the following code (simplified):
proc parseFile {filename results_array} { upvar $results_array results set results(key) $value } set r1 {} parseFile "filename" r1
and I get the error:
Error: can't set "results(key)": variable isn't array
解决方案You don't initialize arrays in Tcl, they just appear when you set a member:
proc stash {key array_name value} { upvar $array_name a set a($key) $value } stash one pvr 1 stash two pvr 2 array names pvr
yields:
two one
这篇关于如何初始化Tcl的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文