# System Function AT

Jump to navigationJump to search
 Z←L ⎕AT R returns the attributes of the objects named in R.
R is a character scalar, vector, or matrix consisting of the names of objects (e.g., variables, functions, or operators).
L is an integer scalar whose value is either 1, 2, 3, or 4.
Z is an integer vector or matrix.

If R is a scalar, it is treated as the name; if R is a vector, it is treated as a vector of names separated from one another by one or more blanks; if R is a matrix, each row is treated as a single name surrounded by zero or more blanks.

If R consists of a single name, Z is a vector; otherwise Z is a matrix with as many rows as there are names in R.

The number of columns in Z depends upon the value of L.

• If L is 1, the result describes the Valences of the objects named in R and has three columns consisting of
[1] Whether or not there is an Explicit result (1 or 0): This value is 1 for variables and for functions/operators that return a result; 0 otherwise.
[2] The Function Valence (0, 1, or 2): This value is 0 for a non-function or for a niladic function, 1 for a monadic function or for a monadic derived function from an operator, and 2 for a dyadic or ambivalent function or for a dyadic or ambivalent derived function from an operator.
[3] The Operator valence (0, 1, or 2): This value is 0 for a non-operator, 1 for a monadic operator, and 2 for a dyadic operator.

• If L is 2, the result describes the Fix Time of the objects named in R and has seven columns consisting of
[1] Year
[2] Month
[3] Day
[4] Hour
[5] Minute
[6] Second
[7] Millisecond

If an object named in R is not a user-defined function/operator, the corresponding row in the result is all 0. All times are in UTC and represent the time the function was last modified.

• If L is 3, the result describes the Execution Properties of the objects named in R and has four columns consisting of
[1] Whether or not the object is Nondisplayable (1 or 0)
[2] Whether or not the object is Nonsuspendable (1 or 0)
[3] Whether or not the object Ignores weak interrupts, i.e. Ctrl-C or Ctrl-Break (1 or 0)
[4] Whether or not the object Converts non-resource errors to DOMAIN ERRORs (this value is always 0)

If an object named in R is a variable, the corresponding row in the result is all 0. If an object named in R is a primitive or system function, the corresponding row in the result is 1 1 1 0. If an object named in R is a function array, train, or magic function, the corresponding row in the result is 0 1 1 0.

• If L is 4, the result describes the Object Size of the objects named in R and has two columns consisting of
[1] The object's size as calculated by ⎕SIZE which consists of the object header and data sizes
[2] The object's data size only.