![]() |
Emu48 Underscore Command? - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: General Forum (/forum-4.html) +--- Thread: Emu48 Underscore Command? (/thread-16106.html) |
Emu48 Underscore Command? - MNH - 01-01-2021 05:57 PM 4: 3: 2: 1: HAPPY_NEW_YEAR_2021 =========================================================== _ Error: Too Few Arguments 4: 3: 2: 1: "" =========================================================== Prior to my earliest post today, I was trying to create the above directory. Upon entering the name on the stack, I received the above message. I don't ever remember seeing an underscore command anywhere. Please explain. RE: Emu48 Underscore Command? - Giuseppe Donnini - 01-01-2021 08:04 PM Here is the full explanation as given by Dr. William Wickes himself on comp.sys.handhelds (on May, 1st, 1990): The "formunit" operator "_" is a hybrid beast that is half delimiter, half infix operator. It began life as a delimiter to identify unit objects in the command line, with complications due to its position between two objects--a real number and a unit expression--unlike most delimiters, which precede or surround their target text. _ became a function in order to support its entry in the EquationWriter, so that there does not need to be special code for the expression following the _. When you enter a _ in the command line, it acts as a delimiter iff it is preceded by a valid real number, in which case it insists on being followed by a unit expression, without intervening spaces or other delimiters. Thus 'expression' 1 _m ENTER returns 'expression' and 1_m, whereas 'expression' 1 _ m ENTER is a syntax error (because of the space following the _. If _ is not preceded by a real number, it is compiled as a stand-alone function, which has this stack diagram: symb real ==> 'symb*real' (same as *) symb unit ==> 'symb*unit' (same as *) symb 'expr' ==> 'symb_expr' Here "symb" is an algebraic object or substitute--real, complex, or name; 'expr' is an algebraic or name object. _ is not described as a function in the owner's manual simply because its explanation is a bit mysterious, and it has no particular practical use--you can use * or ->UNIT instead. RE: Emu48 Underscore Command? - MNH - 01-02-2021 03:56 AM @ Giuseppe Donnini Very interesting! |