System Variable LX
⎕LX - Latent Expression
|
||||
Returned by APL's Interpreter: Z is a string containing the current value of ⎕LX, and is null if ⎕LX is not defined, i.e. set to '', a null string. ⎕LX's value is the command to execute when the workspace is next loaded(after pre-Saving of course) - using )LOAD. |
⎕LX←'START' | Have the workspace execute function START when it is loaded via )LOAD or the File, Open menu |
⎕LX←'' | Do not have any function execute when the workspace is loaded (null string, this is the default). |
APL's ⎕LX system variable is used within a workspace to set action to take when the workspace is loaded via )LOAD or the File, Open
menu. Frequently ⎕LX is set to the name of a function in the workspace. ⎕LX defaults to null.
Sample use #1 - running a startup function when workspace is first loaded:
⎕LX←'Start'
When this workspace is saved, the next time it is loaded through the )LOAD command or the File, Open menu, it will attempt to start the
function Start. An error will occur if the function named in ⎕LX is not present when the workspace is loaded.
The ⎕LX function is not executed if the workspace is loaded via the )XLOAD command or through the File, Xload
menu.
The function of ⎕LX is similar to the function of the AUTOEXEC.BAT file when DOS is started, or when in Windows if you have a shortcut in the Startup Folder in the
Start Menu. The function or action in the ⎕LX system variable is executed before the Session Manager returns control to you.
The action of ⎕LX when a workspace is )LOADed is essentially equivalent to typing ⍎⎕LX immediately after
loading the workspace.
Note that system commands beginning with a ) cannot be executed through ⎕LX. This is different from the APL Standard, for a reason.
This variation from standard prevents endless loops, such as if a workspace named loop had a ⎕LX value of )load loop.
Sample use #2 - displaying a user-introductory message using a global variable's value when the workspace is loaded:
⎕LX←'⎕←Description' ⍝ Where Description is a global string variable in either vector or character matrix format.
Description←'Welcome APL User! Welcome to NARS, we speak APL here!' ⍴Description ⍝ Query the shape of workspace global variable Description 54 ⎕LX←'⎕←Description' ⍝ Notice use of the prompt or quad symbol and assignment arrow in front of the variable's name(⎕←), with APL's entire phrase in quotes. ⎕LX ⍝ Query what is stored in system variable ⎕LX ⎕←Description )SAVE ⍝ Save current workspace ... ⍝ APL workspace reloaded using )LOAD, startup message shown below: Welcome APL User! Welcome to NARS, we speak APL here!
The above ⎕LX examples are helpful, both as workspace reminders and or to help unfamiliar users quickly get started using that particular APL workspace. If you were last editing a function just before )OFF, you can remind yourself where you were at, for example after a long week-end or you were in a complex debug situation. See also State Indicator - system command )SI.
See Also
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 |
[[Category:Mouse Group {{{1}}}|{{{2}}}]]