A modern dictionary package for AutoHotkey
In a terminal or command line navigated to your project folder:
npm install dict.ahk
In your code only export.ahk needs to be included:
#Include %A_ScriptDir%\node_modules
#Include dict.ahk\export.ahk
exampleDict := new dict()
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
msgbox, % exampleDict.get(200)
; => "OK"
exampleDict.has(404)
; => true
You may also review or copy the package from ./export.ahk on GitHub; #Incude as you would normally when manually downloading.
The following attributes are accessible at all times:
.size
Contains the current .Count()
length of the dictionary. There is no dedicated method for retrieving this value at this time.
.data
Contains all Key/Value pairs of the dictionary. Iterating is discouraged and no order is enforced.
Including the module provides a class dict
with seven methods: .set
, .get
, .has
, .map
, .remove
, .clear
, .clone
Maps a key array and value array to the dictionary.
keyArr (array): The array of keys to add to the dictionary
valueArr (array): The array of values to add to the dictionary
(number): The dictionaries new .Count()
length
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
; => 3
exampleDict.get(200)
; => "OK"
exampleDict.map([500], ["Internal Server Error"])
; => 4
Creates a new entry in the dictionary.
.create
, .update
key (string): The key to create the value at
value (*): The value to associate with the key
(number): The dictionaries new .Count()
length
exampleDict.set(200, "OK")
; => 1
exampleDict.set(403, "Access forbidden")
; => 2
exampleDict.set(404, "File not found")
; => 3
creates and returns a new clone of the dictionary.
none
(array): A new clone of the dictionary.
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
dictClone := exampleDict.clone()
dictClone.has(200)
; => true
Reads the value associated with the key.
key (string): The key to lookup in the dictionary
(*): The value associated with the key, else false
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
exampleDict.get(200)
; => "OK"
exampleDict[200]
; => "OK"
Reads if the key exists in the dictionary
key (string): The key to lookup in the dictionary
(boolean): true
if the key exists, else false
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
exampleDict.has(200)
; => true
Clears the dictionary of all keys and values.
none
(boolean): returns true upon success
exampleDict.clear()
; => true
exampleDict.size
; => 0
Creates a new entry in the dictionary.
.delete
key (string): The key to remove from the dictionary
(boolean): true
if the key was removed, else false
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
exampleDict.remove(200)
; => true
exampleDict.remove(403)
; => true
exampleDict.remove(404)
; => true
exampleDict.remove(500)
; => false
exampleDict.size
; => 0