dict.ahk
v0.2.1
Published
A modern dictionary libary for AutoHotkey
Downloads
30
Readme
dict.ahk
A modern dictionary package for AutoHotkey
Installation
In a terminal or command line navigated to your project folder:
npm install dict.ahk
In your code:
#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; #Include it however you would normally when manually downloading.
API
Including the module provides a class dict
with seven methods: .set
, .get
, .has
, .map
, .remove
, .clear
, .clone
Create methods
.clone
creates and returns a new clone of the dictionary.
Arguments
none
Returns
(array): A new clone of the dictionary.
Example
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
dictClone := exampleDict.clone()
dictClone.has(200)
; => true
.map
Maps a key array and value array to the dictionary.
Arguments
keyArr (array): The array of keys to add to the dictionary
valueArr (array): The array of values to add to the dictionary
Returns
(number): The dictionaries new .Count()
length
Example
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
; => 3
exampleDict.get(200)
; => "OK"
exampleDict.map([500], ["Internal Server Error"])
; => 4
.set
Creates a new entry in the dictionary.
Aliases
.create
, .update
Arguments
key (string): The key to create the value at
value (*): The value to associate with the key
Returns
(number): The dictionaries new .Count()
length
Example
exampleDict.set(200, "OK")
; => 1
exampleDict.set(403, "Access forbidden")
; => 2
exampleDict.set(404, "File not found")
; => 3
Delete methods
.clear
Clears the dictionary of all keys and values.
Arguments
none
Returns
(boolean): returns true upon success
Example
exampleDict.clear()
; => true
assert.test(exampleDict.size, 0)
.remove
Creates a new entry in the dictionary.
Aliases
.delete
Arguments
key (string): The key to remove from the dictionary
Returns
(boolean): true
if the key was removed, else false
Example
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
assert.test(exampleDict.size, 0)
Read methods
.get
Reads the value associated with the key.
Arguments
key (string): The key to lookup in the dictionary
Returns
(*): The value associated with the key, else false
Example
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
exampleDict.get(200)
; => "OK"
.has
Reads if the key exists in the dictionary
Arguments
key (string): The key to lookup in the dictionary
Returns
(boolean): true
if the key exists, else false
Example
exampleDict.map([200, 403, 404], ["OK", "Access forbidden", "File not found"])
exampleDict.has(200)
; => true
.size
Example
exampleDict.clear()