System Function VR: Difference between revisions
From NARS2000
Jump to navigationJump to search
No edit summary |
mNo edit summary |
||
| Line 19: | Line 19: | ||
∇</pre></apll> | ∇</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 | <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><pre> | <apll><pre> | ||
f←+.× | f←+.× | ||
⍴⎕←⎕VR 'f' | |||
+.× | +.× | ||
3 | 3 | ||
Revision as of 23:39, 15 April 2018
|
||||
| R is a character scalar or vector. | ||||
| Z is a character vector representation of the user-defined function/operator. |
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 | ||||||||||||||||