4,500
edits
m (Text replacement - "</source>" to "</syntaxhighlight>") |
m (Text replacement - "<source" to "<syntaxhighlight") |
||
Line 1: | Line 1: | ||
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: | 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: | ||
< | <syntaxhighlight lang=apl> | ||
⍳2 3⍴⍳6 | ⍳2 3⍴⍳6 | ||
RANK ERROR | RANK ERROR | ||
Line 8: | Line 8: | ||
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: | ||
< | <syntaxhighlight lang=apl> | ||
(2 3⍴2) + ⍳6 | (2 3⍴2) + ⍳6 | ||
RANK ERROR: Mismatched left and right argument ranks | RANK ERROR: Mismatched left and right argument ranks | ||
Line 16: | Line 16: | ||
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: | ||
< | <syntaxhighlight lang=apl> | ||
2 +/ 0.5 | 2 +/ 0.5 | ||
RANK ERROR | RANK ERROR | ||
Line 24: | Line 24: | ||
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: | ||
< | <syntaxhighlight lang=apl> | ||
(⍳3 4) ⍳ ⊂1 3 | (⍳3 4) ⍳ ⊂1 3 | ||
RANK ERROR | RANK ERROR |