Class Dictionary

Dictionary metatype, wrapper for godot_dictionary.

Construct using the idiom Dictionary(from), which calls __new.

Methods

Dictionary:clear () Clear the Dictionary, removing all key/value pairs.
Dictionary:duplicate ([deep=false]) Creates a copy of the dictionary, and returns it.
Dictionary:empty () Returns true if the Dictionary is empty.
Dictionary:erase (key) Erase a dictionary key/value pair by key.
Dictionary:get (key[, default]) Returns the current value for the specified key in the Dictionary.
Dictionary:has (key) Returns true if the Dictionary has a given key.
Dictionary:has_all (...) Returns true if the dictionary has all the given keys.
Dictionary:hash () Returns a hashed integer value representing the Dictionary contents.
Dictionary:keys () Returns the list of keys in the Dictionary.
Dictionary:merge (dictionary[, overwrite=false]) Adds elements from dictionary to this Dictionary.
Dictionary:next (key) Returns the next key/value pair Dictionary's, similar to Lua's next.
Dictionary:set (key, value) Set a new value for the specified key in the Dictionary.
Dictionary:size () Returns the number of keys in the Dictionary.
Dictionary:to_json () Returns a String with JSON representation of the Dictionary's contents.
Dictionary:values () Returns the list of values in the Dictionary.

Metamethods

Dictionary:__concat (a, b) Concatenates values.
Dictionary:__len () Alias for size.
Dictionary:__new ([value]) Dictionary constructor, called by the idiom Dictionary(value).
Dictionary:__newindex (key, value) Set a value to Dictionary.
Dictionary:__pairs () Returns the next iterator and self, called by the idiom pairs(dictionary).
Dictionary:__tostring () Returns a Lua string representation of this Dictionary.


Methods

Dictionary:clear ()
Clear the Dictionary, removing all key/value pairs.
Dictionary:duplicate ([deep=false])
Creates a copy of the dictionary, and returns it. The deep parameter causes inner Dictionaries and Arrays to be copied recursively, but does not apply to Objects.

Parameters:

  • deep (default false)

Returns:

    Dictionary
Dictionary:empty ()
Returns true if the Dictionary is empty.

Returns:

    bool
Dictionary:erase (key)
Erase a dictionary key/value pair by key. Returns true if the given key was present in the Dictionary, false otherwise. Does not erase elements while iterating over the dictionary.

Parameters:

Returns:

    bool
Dictionary:get (key[, default])
Returns the current value for the specified key in the Dictionary. If the key does not exist, the method returns the value of the optional default argument, or nil if it is omitted.

Parameters:

  • key
  • default Default value to be returned if key doesn't exist in Dictionary (optional)

Returns:

    Unboxed value or default or nil
Dictionary:has (key)
Returns true if the Dictionary has a given key.

Parameters:

  • key

Returns:

    bool
Dictionary:has_all (...)
Returns true if the dictionary has all the given keys.

Parameters:

  • ... If only a table or Array value is passed, its values are used as search keys. Otherwise, all passed arguments will be used as search keys.

Returns:

    bool
Dictionary:hash ()
Returns a hashed integer value representing the Dictionary contents. This can be used to compare Dictionaries by value. Note: Dictionaries with the same keys/values but in a different order will have a different hash.

Returns:

    int
Dictionary:keys ()
Returns the list of keys in the Dictionary.

Returns:

    Array
Dictionary:merge (dictionary[, overwrite=false])
Adds elements from dictionary to this Dictionary. By default, duplicate keys will not be copied over, unless overwrite is true.

Parameters:

Dictionary:next (key)
Returns the next key/value pair Dictionary's, similar to Lua's next. This is used to iterate over Dictionaries in __pairs.

Parameters:

  • key If nil, returns the first key/value pair. Otherwise, returns the next key/value pair.

Returns:

  1. Key
  2. Value

Or

    nil If there are no more keys

See also:

Usage:

     local key, value = nil  -- First key being nil, the iteration begins
     while true do
        key, value = dict:next(key)
        if key == nil then break end
        -- do something
    end
Dictionary:set (key, value)
Set a new value for the specified key in the Dictionary.

Parameters:

  • key
  • value
Dictionary:size ()
Returns the number of keys in the Dictionary.

Returns:

    int
Dictionary:to_json ()
Returns a String with JSON representation of the Dictionary's contents.

Returns:

    String
Dictionary:values ()
Returns the list of values in the Dictionary.

Returns:

    Array

Metamethods

Dictionary:__concat (a, b)
Concatenates values.

Parameters:

  • a First value, stringified with GD.str
  • b First value, stringified with GD.str

Returns:

    String
Dictionary:__len ()
Alias for size.

Returns:

    int

See also:

Dictionary:__new ([value])
Dictionary constructor, called by the idiom Dictionary(value).

Parameters:

  • value If passed, the key/value pairs will be iterated with pairs and inserted into the new Dictionary using set. Notice that both tables and userdata/cdata with a __pairs metamethod are valid, including another Dictionary. (optional)

Returns:

    Dictionary
Dictionary:__newindex (key, value)
Set a value to Dictionary. If value is nil, the key will be erased, similarly to Lua tables. To insert a Nil Variant into Dictionary, use set instead.

Parameters:

  • key
  • value
Dictionary:__pairs ()
Returns the next iterator and self, called by the idiom pairs(dictionary).

Returns:

  1. function
  2. Dictionary self

Usage:

    for k, v in pairs(dictionary) do
        -- do something
    end
Dictionary:__tostring ()
Returns a Lua string representation of this Dictionary.

Returns:

    string
generated by LDoc 1.4.6 Last updated 2023-01-04 08:52:34