如何在autohotkey的关联数组中使用变量作为键?

时间:2013-04-26 20:19:02

标签: autohotkey

在autohotkey_L中,有一个关联数据结构。例如,

   hash := {key_hash:"value"}
   val:= hash["key_hash"]
   MsgBox %val%

但是如果我想使用变量作为键来访问关联数组中的值,它就会失败。例如,以下内容不起作用

  hash := {key_hash:"value"}
   other_val="key_hash"
   val:= hash[other_val]
   MsgBox %val%

这也不起作用:

   hash := {key_hash:"value"}
   other_val="key_hash"
   val:= hash[%other_val%]
   MsgBox %val%
   ** gave me an error: The following variable name contains an illegal character: ""key_hash""

如何使用变量访问关联数组中的值? 我需要这个来将密钥作为函数中的参数。

2 个答案:

答案 0 :(得分:2)

阿尔比,

您的变量other_val包含数据:"key_hash",而非您想要的数据:key_hash。只需删除两个双引号即可。

hash := {key_hash:"value"}
other_val=key_hash
val:= hash[other_val]
MsgBox %val%

答案 1 :(得分:1)

或使用作业(:=)

hash:={key_hash:"value"} ; hash:=Object("key_hash", "value")
other_val:="key_hash"
val:=hash[other_val]
MsgBox, % val