RANK ERROR

From APL Wiki
Revision as of 23:36, 16 November 2019 by Miraheze>Adám Brudzewsky (Text replacement - "{{APL programming language}}" to "{{APL features}}")
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
            ∧
Works in: Dyalog APL


APL features [edit]
Built-ins Primitives (functions, operators) ∙ Quad name
Array model ShapeRankDepthBoundIndex (Indexing) ∙ AxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayCellMajor cellSubarrayEmpty arrayPrototype
Data types Number (Boolean, Complex number) ∙ Character (String) ∙ BoxNamespaceFunction array
Concepts and paradigms Conformability (Scalar extension, Leading axis agreement) ∙ Scalar function (Pervasion) ∙ Identity elementComplex floorArray ordering (Total) ∙ Tacit programming (Function composition, Close composition) ∙ GlyphLeading axis theoryMajor cell search
Errors LIMIT ERRORRANK ERRORSYNTAX ERRORDOMAIN ERRORLENGTH ERRORINDEX ERRORVALUE ERROREVOLUTION ERROR