Nested array: Difference between revisions

Jump to navigation Jump to search
380 bytes added ,  14:48, 20 November 2019
m
5 revisions imported: Migrate from miraheze
Miraheze>Marshall
(Created page with "In nested array theory, a nested array is an array of depth greater than one, that is, an array that contains at least one element which is not a simple scalar. It...")
 
m (5 revisions imported: Migrate from miraheze)
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
In [[nested array theory]], a nested array is an array of [[depth]] greater than one, that is, an array that contains at least one element which is not a [[simple scalar]]. It is roughly equivalent to a [[Box|boxed]] array in [[flat array theory]]; more precisely, non-[[mixed]] nested arrays correspond exactly to boxed arrays. Depending on language, an [[empty]] array may never be considered nested, or it may be considered nested if its [[prototype]] is nested.
In [[nested array theory]], a '''nested array''' is an array of [[depth]] greater than one, that is, an array that contains at least one element which is not a [[simple scalar]]. It is roughly equivalent to a [[Box|boxed]] array in [[flat array theory]]; more precisely, non-[[mixed]] nested arrays correspond exactly to boxed arrays. Depending on language, an [[empty]] array may never be considered nested, or it may be considered nested if its [[prototype]] is nested.


[[Scalar functions]] descend into nested arrays one element at a time. Arrays can be nested at an arbitrary depth so this descent constitutes a traversal. Nested arrays form a [[tree]] structure with some additional information (the [[shape]]) at each node.
[[Scalar functions]] descend into nested arrays one element at a time. Arrays can be nested at an arbitrary depth so this descent constitutes a traversal. Nested arrays form a [[tree]] structure with some additional information (the [[shape]]) at each node.


A nested array is a kind of [[pointer array]] and is almost always stored using pointers.
A nested array is a kind of [[pointer array]] and is almost always stored using pointers.
The result of [[Enclose]] on an array other than a [[simple scalar]] is always a nested array. The [[Dyalog APL]] primitive [[Nest]] (<source lang=apl inline>⊆</source>), which encloses a non-[[simple]] argument, is named for this property: it applies the smallest transformation to turn the argument (unless it is a simple scalar) into a nested array.
{{APL features}}

Navigation menu