RANK ERROR: Difference between revisions
m (Errors category) |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
Line 5: | Line 5: | ||
⍳2 3⍴⍳6 | ⍳2 3⍴⍳6 | ||
∧ | ∧ | ||
</ | </syntaxhighlight> | ||
A RANK ERROR can be caused when arguments do not [[Conformability|conform]] because they have differing ranks: | A RANK ERROR can be caused when arguments do not [[Conformability|conform]] because they have differing ranks: | ||
Line 13: | Line 13: | ||
(2 3⍴2)+⍳6 | (2 3⍴2)+⍳6 | ||
∧ | ∧ | ||
</ | </syntaxhighlight> | ||
It may also be caused when an array's rank is too small for a function. [[Windowed Reduction]] is not defined on scalars: | It may also be caused when an array's rank is too small for a function. [[Windowed Reduction]] is not defined on scalars: | ||
Line 21: | Line 21: | ||
2+/0.5 | 2+/0.5 | ||
∧ | ∧ | ||
</ | </syntaxhighlight> | ||
A RANK ERROR may be caused when argument ranks are incompatible in some other way. In languages with [[high-rank set functions]] such as [[Dyalog APL]] and [[J]], the right argument rank must be at least the left argument rank minus one. Calling it with a matrix left argument and a scalar right argument, which has a rank two smaller, gives a RANK ERROR: | A RANK ERROR may be caused when argument ranks are incompatible in some other way. In languages with [[high-rank set functions]] such as [[Dyalog APL]] and [[J]], the right argument rank must be at least the left argument rank minus one. Calling it with a matrix left argument and a scalar right argument, which has a rank two smaller, gives a RANK ERROR: | ||
Line 29: | Line 29: | ||
(⍳3 4)⍳⊂1 3 | (⍳3 4)⍳⊂1 3 | ||
∧ | ∧ | ||
</ | </syntaxhighlight> | ||
{{Works in|[[Dyalog APL]]}} | {{Works in|[[Dyalog APL]]}} | ||
{{APL features}}[[Category:Errors]] | {{APL features}}[[Category:Errors]] |
Revision as of 21:01, 10 September 2022
A RANK ERROR is an error message which indicates that an array had an incorrect rank for the way it was used. For example, in most APLs, Iota only accepts a vector or scalar, so giving it a higher-rank array as argument results in a RANK ERROR: <source lang=apl>
⍳2 3⍴⍳6
RANK ERROR
⍳2 3⍴⍳6 ∧
</syntaxhighlight>
A RANK ERROR can be caused when arguments do not conform because they have differing ranks: <source lang=apl>
(2 3⍴2) + ⍳6
RANK ERROR: Mismatched left and right argument ranks
(2 3⍴2)+⍳6 ∧
</syntaxhighlight>
It may also be caused when an array's rank is too small for a function. Windowed Reduction is not defined on scalars: <source lang=apl>
2 +/ 0.5
RANK ERROR
2+/0.5 ∧
</syntaxhighlight>
A RANK ERROR may be caused when argument ranks are incompatible in some other way. In languages with high-rank set functions such as Dyalog APL and J, the right argument rank must be at least the left argument rank minus one. Calling it with a matrix left argument and a scalar right argument, which has a rank two smaller, gives a RANK ERROR: <source lang=apl>
(⍳3 4) ⍳ ⊂1 3
RANK ERROR
(⍳3 4)⍳⊂1 3 ∧
</syntaxhighlight>
APL features [edit] | |
---|---|
Built-ins | Primitives (functions, operators) ∙ 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 ∙ Function array |
Concepts and paradigms | Conformability (Scalar extension, Leading axis agreement) ∙ Scalar function (Pervasion) ∙ Identity element ∙ Complex floor ∙ Array ordering (Total) ∙ Tacit programming (Function composition, Close composition) ∙ Glyph ∙ Leading axis theory ∙ Major cell search ∙ First-class function |
Errors | LIMIT ERROR ∙ RANK ERROR ∙ SYNTAX ERROR ∙ DOMAIN ERROR ∙ LENGTH ERROR ∙ INDEX ERROR ∙ VALUE ERROR ∙ EVOLUTION ERROR |