dictionary — Create a key-value dictionary object.
dictionary(keys, values) creates a host dictionary object. Alternating key/value pairs are also accepted, including array-valued pairs.
Syntax
d = dictionary()
d = dictionary(keys, values)
d = dictionary(k1, v1, ..., kN, vN)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
keys | Any | Yes | — | Uniform or cell-wrapped dictionary keys. |
values | Any | Yes | — | Uniform, scalar-expanded, or cell-wrapped dictionary values. |
keyValuePair1 | Any | Yes | — | First key/value argument pair. |
keyValuePairN | Any | Variadic | — | Additional key/value argument pairs. |
Returns
| Name | Type | Description |
|---|---|---|
out | Any | Result value. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:table:InvalidArgument | Arguments or table metadata are invalid. | table: invalid argument |
RunMat:table:InvalidIndex | Table indexing is invalid. | table: invalid index |
RunMat:table:InvalidVariable | A table variable name or value is invalid. | table: invalid variable |
RunMat:readtable:IOError | readtable cannot open or read the requested file. | readtable: file read failed |
RunMat:readtable:UnsupportedFileType | readtable receives a file type outside the text or spreadsheet import backends. | readtable: unsupported file type |
How dictionary works
- Keys and values must have the same size unless the value input is scalar, in which case it expands to every key.
- String, numeric, logical, char, and cell collections are expanded into entries and normalized to one compatible configured key class and one compatible configured value class.
- All eight integer classes remain exact, including
uint64keys beyond binary64's exact range. Construction, lookup, assignment, and removal compare authoritative configured-class integers. - Duplicate keys keep their first insertion position and the last supplied value.
- Multi-key lookup preserves the configured uniform value class and the query shape; scalar lookup returns a scalar. Non-scalar assignment values must match the key-query shape, while scalar assignment expands.
- Resident keys or values are a RunMat-only interactive extension. Compatibility mode rejects them before provider access; RunMat mode gathers them exactly through the owning provider.
- Concrete MATLAB dictionary class metadata and unsupported heterogeneous object-type conversions remain recorded general gaps.
Example
Create a dictionary
D = dictionary(["a" "b"], [1 2])Expected output:
D = dictionary objectUsing dictionary with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how dictionary changes the result.
Run a small dictionary example, explain the result, then change one input and compare the output.
Related Table functions
array2table · array2timetable · categorical · cell2table · groupsummary · head · height · iscategorical · isordinal · istable · istimetable · ordinal · pivot · rowfilter · struct2table · table · table2array · table2cell · table2struct · table2timetable · timerange · timetable · timetable2table · uitable · vartype · width
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how dictionary is executed, line by line, in Rust.
- View the source for dictionary in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.