# Difference between revisions of "Element"

m (Array relationships category) |
|||

(One intermediate revision by the same user not shown) | |||

Line 1: | Line 1: | ||

+ | :''This article is about the items of an array. For the set function, see [[Membership]]. | ||

In the APL [[array model]], an '''element''' of an array is one of the values it contains. In [[flat array theory]] an element is a [[character]], [[number]], or [[box]], and cannot be manipulated directly within the language. In [[nested array theory]] each element of an array is another array, and an element of an array can be retrieved using the [[Pick]] function. [[Stranding]] forms a [[vector]] directly from its elements. | In the APL [[array model]], an '''element''' of an array is one of the values it contains. In [[flat array theory]] an element is a [[character]], [[number]], or [[box]], and cannot be manipulated directly within the language. In [[nested array theory]] each element of an array is another array, and an element of an array can be retrieved using the [[Pick]] function. [[Stranding]] forms a [[vector]] directly from its elements. | ||

## Latest revision as of 07:16, 29 June 2020

*This article is about the items of an array. For the set function, see Membership.*

In the APL array model, an **element** of an array is one of the values it contains. In flat array theory an element is a character, number, or box, and cannot be manipulated directly within the language. In nested array theory each element of an array is another array, and an element of an array can be retrieved using the Pick function. Stranding forms a vector directly from its elements.

The APL Wiki's usage of the term "element" differs from the usage in flat array languages, where it may be used as a synonym for an atom or 0-cell or to refer to the contents of box elements in a boxed array. Defining "element" to mean something that is not an array is intended to make it easier to reconcile flat with nested array theory using common terminology.

Scalar functions are applied element-wise to their argument arrays (using conformability to pair elements). In nested APLs this means they traverse deeply nested arrays to produce a result; in flat APLs they go down only one level.

APL features [edit]
| |
---|---|

Built-ins | Primitive function ∙ Primitive operator ∙ Quad name |

Array model | Shape ∙ Rank ∙ Depth ∙ Bound ∙ Index (Indexing) ∙ Axis ∙ Ravel ∙ Ravel order ∙ Element ∙ Scalar ∙ Vector ∙ Matrix ∙ Simple scalar ∙ Simple array ∙ Nested array ∙ Cell ∙ Major cell ∙ Subarray ∙ Empty array ∙ Prototype |

Data types | Number (Boolean, Complex number) ∙ Character (String) ∙ Box ∙ Namespace |

Concepts and paradigms | Leading axis theory ∙ Scalar extension ∙ Conformability ∙ Scalar function ∙ Pervasion ∙ Glyph ∙ Identity element ∙ Complex floor ∙ Total array ordering |

Errors | LIMIT ERROR ∙ RANK ERROR ∙ SYNTAX ERROR ∙ DOMAIN ERROR ∙ LENGTH ERROR ∙ INDEX ERROR ∙ VALUE ERROR |