在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""
如何使用变量访问关联数组中的值? 我需要这个来将密钥作为函数中的参数。
答案 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