Eval 可以用于数组吗?
本帖最后由 CHEARV 于 2013-10-7 20:04 编辑Dim $a = [,]
Dim $i = 1
Dim $s = 'a' & '[$i]' & ''
$j = Eval($s)
MsgBox(0, $s, $j)
之前的提问没表达清楚,现在补充一下,我的是需要给修改数组$a的值, 但不想通过 $a =6 这种方法操作,但用 Eval($s) = 6 或者用Assign($s,6)
语法都通不过。
有没有类似这样的代码可以通过呢? 不知道为什么要这样获取?
用意是什么哦?
Dim $a = [,]
Dim $i = 1
Dim $s = '$a['&$i&']'
$j = Execute($s)
MsgBox(0, $s, $j)
回复 3# gto250
看了一下,这个好像是计算表达式的值。可能是我没有表达清楚,我需要的是通过Eval来给数组赋值。 给指定变量赋值.
Assign ( "变量名", "数据" [, 标志] )
参数
变量名 您需要赋值的变量名. 不能是一个数组元素.
数据 您需要给变量名赋予的值(数据).
标志 [可选参数] 控制变量赋值的方式(可把所需选项对应数值相加):
0 = (默认) 如果目标变量不存在,则创建请求的变量.
1 = 强制创建为局部作用域变量.
2 = 强制创建为全局作用域变量.
4 = 若目标变量并不存在则放弃赋值.
Assign的变量名不能是一个数组元素!
所以好像行不通了。为什么要用那么复杂的方式呢,直接数组赋值不是很方便? 回复 3# gto250
哈哈哈,元老就是元老。前天花了一下午才弄明白Execute Eval 的区别 回复 5# gto250
哦,看来是行不通了。
我主要是想省写代码。这样容易修改。 既然不行,那我试试写自定义函数吧。谢谢元老了。
页:
[1]