System Function LC: Difference between revisions
From NARS2000
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
In the first example where the function '''test''' is invoked, only function test is executing so only a scalar - the current line number of test that is being executed - is shown. In the second example where the function '''test2''' is invoked, the APL interpreter program is currently executing line 1 of function '''test''', which was called by line 2 of '''test2''', thus an array of values 1 and 2 is returned. | In the first example where the function '''test''' is invoked, only function test is executing so only a scalar - the current line number of test that is being executed - is shown. In the second example where the function '''test2''' is invoked, the APL interpreter program is currently executing line 1 of function '''test''', which was called by line 2 of '''test2''', thus an array of values 1 and 2 is returned. | ||
<apll>{quad}LC</apll> is a ''niladic'' function, you cannot assign a value to it. | <apll>{quad}LC</apll> is a ''[[niladic]]'' system function, you cannot assign a value to it. | ||
{{System Variables}} | {{System Variables}} |
Revision as of 16:46, 27 February 2013
⎕LC - Line Counter
⎕LC is an ISO 13751 standard niladic system function which returns an array of the current line numbers being executed in every current function. Consider the following workspace:
∇ test
[1] 'LC=' ⎕LC
∇
∇ test2
[1] 'Calling Test'
[2] test
∇
So the following commands would produce the following output:
test
LC= 1
test2
Calling Test
LC= 1 2
In the first example where the function test is invoked, only function test is executing so only a scalar - the current line number of test that is being executed - is shown. In the second example where the function test2 is invoked, the APL interpreter program is currently executing line 1 of function test, which was called by line 2 of test2, thus an array of values 1 and 2 is returned.
⎕LC is a niladic system function, 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 |