Difference between revisions of "System Variable IO"

From NARS2000
Jump to navigationJump to search
(example of changing quad IO)
 
Line 1: Line 1:
<h1><apl>{quad}IO</apl> - Index Origin</h1>
+
<h1><aplxx>⎕IO</aplxx> - Index Origin</h1>
 
{{BoxStart|<apll>Z←⎕IO</apll>
 
{{BoxStart|<apll>Z←⎕IO</apll>
 
| returns the current value of the Index Origin. }}
 
| returns the current value of the Index Origin. }}
{{BoxEnd|<apll>Z</apll> is an integer vector containing the current value of ⎕IO. This is the lowest value of an array subscript, and is either 1 or 0.}}<br/>
+
{{BoxEnd|<apll>Z</apll> is an integer scalar containing the current value of <apll>⎕IO</apll>. This is the lowest value of an array subscript, and is either <apll>1</apll> or <apll>0</apll>.}}<br/>
  
 
{| border="1" cellpadding="5" cellspacing="0" rules="none" summary=""
 
{| border="1" cellpadding="5" cellspacing="0" rules="none" summary=""
|| <apll>⎕IO←0</apll> || set the lowest subscript of an array to 0.
+
|| <apll>⎕IO←0</apll> || sets the lowest subscript of an array to <apll>0</apll>
 
|-
 
|-
| valign="top" |<apll>⎕IO←1</apll> || sets the lowest subscript for arrays to 1
+
| valign="top" |<apll>⎕IO←1</apll> || sets the lowest subscript of an array to <apll>1</apll>
 
|-
 
|-
 
|}
 
|}
 
<br />
 
<br />
⎕IO determines the lowest subscript for arrays. The default is 1, but can be changed to 0. If an attempt is made to set ⎕IO to a value higher than 1, it is set to 1. If an attempt is made to set ⎕IO to a value loweer than 0, it is set to 0. Setting ⎕IO to anything other than a number causes a DOMAIN ERROR.  
+
<apll>⎕IO</apll> determines the lowest subscript for arrays. The default is <apll>1</apll>, but can be changed to <apll>0</apll>. If an attempt is made to set <apll>⎕IO</apll> to a value higher than <apll>1</apll>, it is set to <apll>1</apll>. If an attempt is made to set <apll>⎕IO</apll> to a value lower than <apll>0</apll>, it is set to <apll>0</apll>. Setting <apll>⎕IO</apll> to anything other than a number causes a <apll>DOMAIN ERROR</apll>.  
  
<pre>
+
<apll><pre>
    ⎕IO   ⍝ default ⎕IO (quad IO) is 1 in a clear workspace
+
      ⎕IO   ⍝ default ⎕IO is 1 in a clear workspace
 
1
 
1
 
       ⍳5    ⍝ iota 5
 
       ⍳5    ⍝ iota 5
 
1 2 3 4 5  
 
1 2 3 4 5  
  
       ⎕IO←0     ⍝ Set index origin ⎕IO to 0 (zero)
+
       ⎕IO←0 ⍝ Set index origin ⎕IO to 0  
  
       ⍳5   ⍝ iota 5 again but compare the results just below to just above
+
       ⍳5   ⍝ iota 5 again but compare the results just below to just above
 
0 1 2 3 4
 
0 1 2 3 4
</pre>
+
</pre></apll>
  
 
{{System Variables}}
 
{{System Variables}}
 
{{Article footer}}
 
{{Article footer}}

Latest revision as of 17:50, 16 April 2018

⎕IO - Index Origin

Z←⎕IO returns the current value of the Index Origin.
Z is an integer scalar containing the current value of ⎕IO. This is the lowest value of an array subscript, and is either 1 or 0.


⎕IO←0 sets the lowest subscript of an array to 0
⎕IO←1 sets the lowest subscript of an array to 1


⎕IO determines the lowest subscript for arrays. The default is 1, but can be changed to 0. If an attempt is made to set ⎕IO to a value higher than 1, it is set to 1. If an attempt is made to set ⎕IO to a value lower than 0, it is set to 0. Setting ⎕IO to anything other than a number causes a DOMAIN ERROR.

      ⎕IO   ⍝ default ⎕IO is 1 in a clear workspace
1
      ⍳5    ⍝ iota 5
1 2 3 4 5 

      ⎕IO←0 ⍝ Set index origin ⎕IO to 0 

      ⍳5    ⍝ iota 5 again but compare the results just below to just above
0 1 2 3 4
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

[[Category:Mouse Group {{{1}}}|{{{2}}}]]