gpt4 book ai didi

tcl - 从 TCL 中的过程返回数组

转载 作者:行者123 更新时间:2023-12-03 19:35:55 24 4
gpt4 key购买 nike

我想传递数组并从过程中返回数组,以下是我尝试过的示例代码。但是得到一些错误..

set a(0) "11"
set a(1) "10"
set a(2) "20"
set a(3) "30"
set a(4) "40"

proc deleten somet {
upvar $somet myarr
for { set i 1} { $i < [array size myarr]} { incr i} {
set arr($i) $myarr($i)
}
return arr
}

array set some[array get [deleten a]]
parray some

当我运行此代码时,出现以下错误错误 # args: 应该是“array set arrayName list”。我很确定我不想使用列表,如何将从 proc 返回的数组设置为另一个数组???

最佳答案

您错过的步骤是您返回 [array get arr]而不仅仅是 arr .

以下代码段在这里有效

set a(0) "11"
set a(1) "10"
set a(2) "20"
set a(3) "30"
set a(4) "40"

proc deleten somet {
upvar $somet myarr
for { set i 1} { $i < [array size myarr]} { incr i} {
set arr($i) $myarr($i)
}
return [array get arr]
}

array set some [deleten a]
parray some

How to pass arrays了解更多信息。

关于tcl - 从 TCL 中的过程返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com