如何初始化Tcl的数组? [英] How to initialize an array in Tcl?

查看:1222
本文介绍了如何初始化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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆