我是 Tcl/tk 的初学者,在程序中访问数组时遇到问题
以下是我的问题陈述
proc myproc {args} {
set aaa ""
set bbb ""
set ccc ""
foreach "field value" $args {
set $field $value
}
# assigning input args values to an array a
set a(3:0) $aaa
set a(6:4) $bbb
set a(25:7) $ccc
#do some computation on input arguments may be addition
#
#
#
# now the result am trying to fetch into another array b
set $b(word0) $x
set $b(word1) $y
set $b(word2) $z
set $b(word3) $u
return [array get b]
}
现在我需要将参数传递给 myproc 并返回我需要访问的数组。
set args_1 "g 1 h 4 k 6"
我尝试了下面的语法,它给我带来了错误。
array set a [myproc[array get $args_1]]
有人可以帮我解决这个问题吗
试图将字符串作为过程 myproc 的输入
然后尝试使用该输入值进行一些计算。
后来在所有计算得到一组字符串值之后,这些值被分配给数组,如下所示
set $b(word0) $x
set $b(word1) $y
set $b(word2) $z
set $b(word3) $u
想要将此数组b
作为返回发送。
例子:
proc myproc {} {
set $b(word0) $x
set $b(word1) $y
set $b(word2) $z
set $b(word3) $u
return [array get b]
}
我试图访问数组 b 如下
array set a [myproc[array get b]]
它工作:) 能够在调用函数中创建新数组。
但是,需要将字符串参数传递给 myproc 并以数组形式返回