Coder Social home page Coder Social logo

dict.ahk's Introduction

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 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.

Attributes

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.

API

Including the module provides a class dict with seven methods: .set, .get, .has, .map, .remove, .clear, .clone

Create methods

.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

.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

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"

exampleDict[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

Delete methods

.clear

Clears the dictionary of all keys and values.

Arguments

none

Returns

(boolean): returns true upon success

Example

exampleDict.clear()
; => true

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

exampleDict.size
; => 0

dict.ahk's People

Contributors

chunjee avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.