System Function LC: Difference between revisions

From NARS2000
Jump to navigationJump to search
m (remove now redundant template)
No edit summary
Line 1: Line 1:
<h1><apl>{quad}LC</apl> - Line Counter</h1>
<h1><apl>⎕LC</apl> - Line Counter</h1>
 
<apll>⎕LC</apll> is an [[ISO 13751]] standard niladic system function which returns an integer vector of the current line numbers being executed in every current function. Consider the following workspace:
 
<apll><pre>
    ∇ test
[1]  'LC=',⎕LC
    ∇
 
    ∇ test2
[1]  'Calling test'
[2]  test
    ∇
</pre></apll>


<apll>{quad}LC</apll> 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:
<apll>{del} test<br/>[1] 'LC=' {quad}LC<br/>{del}<br/><br/>{del} test2<br/>[1] 'Calling Test'<br/>[2] test<br/>{del}<br/></apll>
So the following commands would produce the following output:
So the following commands would produce the following output:
<apll>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test<br/>LC= 1 <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test2<br/>Calling Test<br/>LC= 1 2</apll>


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><pre>
      test
LC= 1
      test2
Calling Test
LC= 1 2
</pre></apll>
 
In the first example where the function '''test''' is invoked, only function '''test''' is executing so a one-element vector - 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 a two-element vector of values 1 and 2 is displayed.


{{SFN|LC}}
{{SFN|LC}}

Revision as of 18:42, 4 June 2017

⎕LC - Line Counter

⎕LC is an ISO 13751 standard niladic system function which returns an integer vector 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 a one-element vector - 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 a two-element vector of values 1 and 2 is displayed.


Note: LC is a niladic form 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


See Also
System Commands System Variables and Functions Operators


Keyboard
A+S
Alt ¨ ¯ < > × ÷
Sh ~ ! @ # $ % ^ & * ( ) _ +
Key ` 1 2 3 4 5 6 7 8 9 0 - =
A+S
Alt ? § π
Sh Q W E R T Y U I O P { } |
Key q w e r t y u i o p [ ] \
A+S
Alt
Sh A S D F G H J K L : "
Key a s d f g h j k l ; '
A+S χ
Alt
Sh Z X C V B N M < > ?
Key z x c v b n m , . /
NARS 2000 Lang
Tool
Bar
+ - × ÷ * ! ? |
< = >
~ § π .. ,
/ \ ¨ .
_ ¯
Second Row i j k i j k l g p r v x