On Tue, 1 Feb 2022, 14:32:43 +10 Henry Rich wrote:
> Many ideas have been aired. But please, every now and again address the
> questions I need answers for:
>
> 1. What is a Dictionary, EXACTLY?
1.1. Dictionary (I prefer shorter term: "map") is a data structure
establishing a discrete surjective mapping with finite set of arguments.
1.2. Dictionary consists of keys and values.
1.2.1. A pair (key,value) is a mapping establishing structure.
1.2.2. A mapping from key to value is denoted as: {key -> value}.
1.3. Keys are considered as unordered set.
1.3.1. A key is an input datum, an argument.
1.3.2. An index error is thrown in unexpected cases.
1.4. A value is an output datum, a result.
1.5. Concrete mapping variant depends on the following:
1.5.1. Are keys homogeneous or heterogeneous in datatype and shape?
1.5.2. Are values homogeneous or heterogeneous in datatype and shape?
1.6. Variants based on different underlying data structure:
mapFXB.ijs Map noun to boxed noun
mapFZB.ijs Map non-negative integer to boxed noun
mapOIN.ijs Map integer to number
mapOIX.ijs Map integer to noun
mapOXX.ijs Map noun to noun
mapOZN.ijs Map non-negative integer to number
mapOZX.ijs Map non-negative integer to noun
> 2. What operations can be performed on a Dictionary?
2.1. Basic operations:
init Init map
keyset Get used keys set
has Check whether the key given is used
get Get the value by key
put Put the value at key
del Delete the pair by key
dump Helper procedure to dump map nouns
2.2. Additional operations for variants based on locales:
create Construct map object
destroy Destroy map object
reset Reset map
2.3. Additional operations:
chk Check the key
kio Transcode the key to/from IO key
--
Regards
Igor
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm