System Function CR: Difference between revisions
Line 100: | Line 100: | ||
</apll> | </apll> | ||
<p>When this was written, the existing magic functions were named <apll>#MonIota</apll>, <apll>#DydIota</apll>, <apll>#MonDnShoe</apll>, <apll>#DydTilde</apll>, <apll>#MonRank</apll>, <apll>#DydRank</apll>, <apll>#Conform</apll>, <apll>#MonFMT</apll>, <apll>#Box</apll>, and <apll>#MonVR</apll>. | <p>When this was written, the existing magic functions were named <apll>#MonIota</apll>, <apll>#DydIota</apll>, <apll>#MonDnShoe</apll>, <apll>#DydTilde</apll>, <apll>#MonRank</apll>, <apll>#DydRank</apll>, <apll>#Conform</apll>, <apll>#MonFMT</apll>, <apll>#Box</apll>, and <apll>#MonVR</apll>.<br/> | ||
<br/> | |||
{quad}CR is a system function, available in [[monadic]] and [[dyadic]] forms, which means you cannot assign a value to it. | |||
{{System Variables}} |
Revision as of 14:46, 27 February 2013
Monadic Function
|
||||
R is a character scalar or vector. | ||||
Z is a character matrix with as many rows as there are lines in the function (including the header), and as many columns as the longest line (including the header). |
This monadic function behaves the same as described in the Extended APL Standard, except it also displays the canonical representation of an assigned function or operator.
For example,
f←,∘⍋∘⍋∘,
⍴⎕←⎕cr 'f'
,∘⍋∘⍋∘,
1 7
If the assigned function references an unnamed value which is not a simple scalar, the representation shows a marker in that spot.
For example,
f←'abcdefg'∘⎕cr
⎕cr 'f'
…∘⎕cr
f←⎕cr
⎕cr 'f'
f
f 'f'
f
Dyadic Function
|
||||
R is a character scalar or vector. | ||||
L is an integer scalar whose value is either 1 or 2. |
If the first character in R is #, then R is assumed to name an internal Magic Function; otherwise R is assumed to name a user-defined function/operator or a directly assigned function (e.g., f←+.×).
If L=2, then Z is a character matrix with as many rows as there are lines in the function (including the header), and as many columns as the longest line (including the header).
If L=1, then Z is either a simple character vector (for directly assigned functions), or a vector of character vectors (for user-defined functions/operators) with as many elements in Z as there are lines in the function (including the header), and each element of Z is a character vector representation of the corresponding line (or header) in the function.
For example,
f←+.×
⍴⎕←2 ⎕cr 'f'
+.×
1 3
⍴⎕←1 ⎕cr 'f'
+.×
3
2 ⎕cr '#MonIota'
Z←#MonIota R
Z←⊃∘.,/⍳¨R
1 ⎕cr '#MonIota'
Z←#MonIota R Z←⊃∘.,/⍳¨R
When this was written, the existing magic functions were named #MonIota, #DydIota, #MonDnShoe, #DydTilde, #MonRank, #DydRank, #Conform, #MonFMT, #Box, and #MonVR.
⎕CR is a system function, available in monadic and dyadic forms, which means you cannot assign a value to it.
System Variables (A value may be assigned to these except for ⎕DM) | |||||||||
---|---|---|---|---|---|---|---|---|---|
⎕ALX | ⎕CT | ⎕DM | ⎕DT | ⎕ELX | ⎕FC | ⎕FEATURE | ⎕FPC | ⎕IC | ⎕IO |
⎕LR | ⎕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 | ⎕DFT | ⎕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 (except for the ⎕A family of functions) are case insensitive |