2013-04-26 110 views
1

在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"" 

我如何使用一个变量的关联数组访问的价值? 我需要这个把键作为函数中的参数。

+0

。 – FakeRainBrigand 2013-04-29 08:48:05

回答

2

阿尔比,

你的变量other_val包含的数据:"key_hash",你想要的不是:key_hash。只要删除两个双引号,你很好。

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

或者使用分配:投票,因为该决议是一个共同的AutoHotkey的错字,而不是问题的标题或正文反映收过于本地化(=)

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