pusofalse 发表于 2008-10-24 17:59:05

请问能否用一个变量的值作为一个新的变量名。

如题。比如在bat中可以写作这样:@echo off
set "var=test"
set "%var%=我是变量%var%的值"
echo var: %var%
call echo test: %%%var%%%
pause如在au3中呢?
$var = "test"
其中变量var的值是test,如何能用test作为一个新的变量名。
这只是一个例子,真正用到时,其中$var的值是未知的。。。

[ 本帖最后由 pusofalse 于 2008-10-28 17:53 编辑 ]

78391493 发表于 2008-10-24 18:14:17

$test = $var

pusofalse 发表于 2008-10-24 18:26:13

谢谢楼上兄弟的解答,不过误会我的意思了。。。可能是我没有说明清楚。
$test = $var
这样只是把变量var的值赋给变量test,它们两个的值都是一样的。
我的意思是,用变量var的值作为一个新的变量名。
比如说$var = "var1"
那么 $var1 = "var2"
如果$var = "str"
那么$str = "str1"
说白了就是变量的嵌套,变量里面套变量。。。

gzken 发表于 2008-10-24 19:01:32

Assign ( "变量名", "数据" [, 标志] )

参数

变量名 您需要赋值的变量名. 不能是一个数组元素.
数据 您需要给变量名赋予的值(数据).
标志 [可选参数] 控制变量赋值的方式(可把所需选项对应数值相加):
0 = (默认) 如果目标变量不存在,则创建请求的变量.
1 = 强制创建为局部作用域变量.
2 = 强制创建为全局作用域变量.
4 = 若目标变量并不存在则放弃赋值.

gzken 发表于 2008-10-24 19:18:45

与变量的赋值取值相关的函数也可以看看:
IsDeclared
Eval

Execute 则以表达式的形式执行一个字符串

pusofalse 发表于 2008-10-24 19:25:31

回复 5# gzken 的帖子

了解,多谢楼上的朋友!
页: [1]
查看完整版本: 请问能否用一个变量的值作为一个新的变量名。