2013-04-26 97 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 
相關問題