如何在autohotkey的关联数组中使用变量作为关键字?
问题描述:
在autohotkey_L中有一个关联的数据结构。例如,如何在autohotkey的关联数组中使用变量作为关键字?
hash := {key_hash:"value"}
val:= hash["key_hash"]
MsgBox %val%
但是,如果我想使用一个变量作为一个关键的assocative数组访问的价值,它失败。例如,下面不工作
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""
我如何使用一个变量的关联数组访问的价值? 我需要这个把键作为函数中的参数。
答
阿尔比,
你的变量other_val包含的数据:"key_hash"
,你想要的不是:key_hash
。只要删除两个双引号,你很好。
hash := {key_hash:"value"}
other_val=key_hash
val:= hash[other_val]
MsgBox %val%
答
或者使用分配:投票,因为该决议是一个共同的AutoHotkey的错字,而不是问题的标题或正文反映收过于本地化(=)
hash:={key_hash:"value"} ; hash:=Object("key_hash", "value")
other_val:="key_hash"
val:=hash[other_val]
MsgBox, % val
。 – FakeRainBrigand 2013-04-29 08:48:05