Scalar System Variables

From NARS2000
Jump to: navigation, search

The System Variables (⎕CT, ⎕DT, ⎕FPC, ⎕IC, ⎕IO, ⎕PP, ⎕PW, and ⎕RL) when assigned to (⎕FPC←R), have two properties beyond the ones in their description in the Extended APL Standard.

  • If a number to be assigned to any of the above system variables is out of the normal range for that variable, it is automatically range-limited, meaning if the number is too high, the highest valid number is used, if it is too low, the lowest valid number is used, and if the input is fractional and the normal range is integral, the ceiling of the input is used and then limited at the top or bottom as necessary. This way, you don't need to know the limits of a scalar system variable, and won't signal a DOMAIN ERROR by using a value out of range.

    For example,

         ⎕FPC←33.3
         ⎕FPC
    53
         ⎕CT←¯2
         ⎕CT
    0

  • If an empty simple vector is assigned to any of the above system variables, the default system value is used instead. This way, you can restore the default value without knowing its value.

    For example,

         ⎕PP←⍬
         ⎕PP
    10
         ⎕CT←''
         ⎕CT
    3E¯15

See Also

System Variables (A value may be assigned to these except for ⎕DM)
ALX CT DM DQ DT ELX FC FEATURE FPC IC
IO LX PP PR PW RL SA WSID
Niladic System Functions (a value cannot be assigned to these)
A AV EM ET LC NNAMES NNUMS SI SYSID SYSVER
T TC TCBEL TCBS TCESC TCFF TCHT TCLF TCNL TCNUL
TS WA
Monadic or dyadic system functions (a value cannot be assigned to these)
AT CR DC DL DR EA EC ERROR ES EX
FMT FX MF NAPPEND NC NCREATE NERASE NINFO NL NLOCK
NREAD NRENAME NREPLACE NRESIZE NSIZE NTIE NUNTIE STOP TF TRACE
UCS VR
Note that quad functions and variables are case insensitive