System Function VR: Difference between revisions

From NARS2000
Jump to navigationJump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Box4|<apll>Z←⎕VR R</apll>
{{Box4|<apll>Z←⎕VR R</apll>
|returns the visual representation of the user-defined function or operator named in <apll>R</apll>.
|returns the visual representation of the user-defined function/operator/hyperator named in <apll>R</apll>.
|<apll>R</apll> is a character scalar or vector.
|<apll>R</apll> is a character scalar or vector.
|<apll>Z</apll> is a character vector representation of the user-defined function/operator.}}
|<apll>Z</apll> is a character vector representation of the user-defined function/operator/hyperator.}}


<p>This function is implemented via the Magic Function <apll>#MonVR</apll>.</p>
<p>This function is implemented via the Magic Function <apll>#MonVR</apll>.</p>


<p>For example (this ,</p>
<p>For example </p>


{{APLFN5|top=⎕VR '#MonVR'
<apll><pre>
|header=Z←#MonVR R;⎕io
      ⎕VR '#MonVR'
|1=⎕io←0
    ∇ Z←#MonVR R;L ⎕IO
|2=Z←1 ⎕cr R
[1]  ⎕IO←0 ⋄ Z←1 ##.⎕CR R
|3=→(0≠⍴Z)/L1 ⋄ Z←'' ⋄ →0
[2]  →(0≠⍴Z)/L1 ⋄ Z←'' ⋄ →0
|4=L1:→(1=≡Z)/0
[3]  L1:→(1=≡Z)/0
|5=Z←(∊((⊂[1]'LO<&nbsp;&nbsp;&nbsp;&nbsp;∇>P<[>Q<]>I6' ⎕fmt ⍳⍴Z),¨Z),¨⊂⎕TCNL,⎕TCLF),'&nbsp;&nbsp;&nbsp;&nbsp;'}}
[4]  L←'∇'∊0⊃Z
[5Z←(∊((⊂[1]'LO<   ∇>P<[>Q<]>I6' ⎕FMT⍳⍴Z),¨Z),¨⎕TCNL),'    ∇'
[6]  →L/0 ⋄ Z←Z,(' ',⍕2 ##.⎕AT R),' (UTC)'
    </pre></apll>


<p>If the function named in <apll>R</apll> is directly assigned, the result is the character vector representation of that function (see line 4 above), as in</p>
<p>If the function named in <apll>R</apll> is directly assigned, the result is the character vector representation of that function (see the test in line 3 above), as in</p>


<apll>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f←+.×<br />
<apll><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⍴⎕←⎕vr 'f'<br />
      f←+.×
+.×<br />
      ⍴⎕←⎕VR 'f'
3<br />
+.×
</apll>
3
</pre></apll>


{{System Variables}}
{{SFM|VR}}

Latest revision as of 09:39, 19 March 2019

Z←⎕VR R returns the visual representation of the user-defined function/operator/hyperator named in R.
R is a character scalar or vector.
Z is a character vector representation of the user-defined function/operator/hyperator.

This function is implemented via the Magic Function #MonVR.

For example

      ⎕VR '#MonVR'
    ∇ Z←#MonVR R;L ⎕IO
[1]   ⎕IO←0 ⋄ Z←1 ##.⎕CR R
[2]   →(0≠⍴Z)/L1 ⋄ Z←'' ⋄ →0
[3]   L1:→(1=≡Z)/0
[4]   L←'∇'∊0⊃Z
[5]   Z←(∊((⊂[1]'LO<    ∇>P<[>Q<]>I6' ⎕FMT⍳⍴Z),¨Z),¨⎕TCNL),'    ∇'
[6]   →L/0 ⋄ Z←Z,(' ',⍕2 ##.⎕AT R),' (UTC)'
    ∇

If the function named in R is directly assigned, the result is the character vector representation of that function (see the test in line 3 above), as in

      f←+.×
      ⍴⎕←⎕VR 'f'
+.×
3


Note: ⎕VR is a monadic 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
Alt+Shift
Alt ¨ ¯ < > × ÷
Shift ~ ! @ # $ % ^ & * ( ) _ +
Key ` 1 2 3 4 5 6 7 8 9 0 - =
Alt+Shift
Alt ? § π
Shift Q W E R T Y U I O P { } |
Key q w e r t y u i o p [ ] \
Alt+Shift
Alt
Shift A S D F G H J K L : "
Key a s d f g h j k l ; '
Alt+Shift χ
Alt
Shift 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