RANK ERROR: Difference between revisions
Miraheze>Adám Brudzewsky No edit summary |
Miraheze>Adám Brudzewsky No edit summary |
||
Line 31: | Line 31: | ||
</source> | </source> | ||
{{Works in|[[Dyalog APL]]}} | {{Works in|[[Dyalog APL]]}} | ||
{{APL programming language}} |
Revision as of 14:00, 14 November 2019
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:
⍳2 3⍴⍳6 RANK ERROR ⍳2 3⍴⍳6 ∧
A RANK ERROR can be caused when arguments do not conform because they have differing ranks:
(2 3⍴2) + ⍳6 RANK ERROR: Mismatched left and right argument ranks (2 3⍴2)+⍳6 ∧
It may also be caused when an array's rank is too small for a function. Windowed Reduction is not defined on scalars:
2 +/ 0.5 RANK ERROR 2+/0.5 ∧
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:
(⍳3 4) ⍳ ⊂1 3 RANK ERROR (⍳3 4)⍳⊂1 3 ∧