| Home CBM ASCII-X BASIC Disk Commands Enter RUN mode Program Format Secret Variables Variable Format Expressions Keywords (divide) (equal) (less) (minus) (more) (multiply) (plus) (power) Abs And Append Asc Atn Auto Backup Bank Begin Bend Bload Boot Box Bsave Bump Catalog Char Chr Circle Close Clr Cmd Collect Collision Color Concat Cont Copy Cos Data Dclear Dclose Dec Def Delete Dim Directory Dispose Dload Do Dopen Draw Ds Ds string Dsave Dverify El Else End Envelope Er Err Exit Exp Fast Fetch Filter Fn For Fre Get Get num Getkey Go Gosub Goto Graphic Gshape Header Help Hex If Input Input num Instr Int Joy Key Left Len Let List Load Locate Log Loop Mid Monitor Movspr New Next Not Off On Open Or Paint Peek Pen Pi Play Pointer Poke Pos Pot Print num Pudef Quit Rclr Rdot Read Record Rem Rename Renumber Restore Resume Return Rgr Right Rlum Rnd Rreg Rspcolor Rsppos Rsprite Run Rwindow Save Scale Scnclr Scratch Sgn Sin Sleep Slow Sound Spc Sprcolor Sprdef Sprite Sprsav Sqr Sshape St Stash Step Stop Str Swap Sys Tab Tan Tempo Then Ti Ti string To Trap Troff Tron Until Using Usr Val Verify Vol Wait While Width Window Xor Syntax Tokens C128 D64plus Disk Escape Codes Hardware PCxface PETSCII Pet2asc Futurama IBM PC-AT Contact Games Glossary Hall of fame Hall of shame Miscellaneous Privacy policy Programming Twisty puzzles |
FN name ( argument ) ~ or ~ DEF FN name ( parameter ) = expression
Calculate the value of a user-defined function (evaluate expression with parameter replaced by argument).
The FN keyword acts like a preposition when defining a function; see DEF. The primary use of FN is for calling a user-defining function. The name used when calling the function must match that of a previously defined user function (see DEF). If no matching name is found, an UNDEF'D FUNCTION ERROR is generated. Per BASIC naming rules, only the first two characters are significant for matching, the first character must be a letter, the remaining characters (if any) may be either a letter or digit, and the name may not be (or have embedded inside of it) any BASIC keyword. The argument may be any numeric expression in general. It may be a literal a number, a calculation, an integer or floating-point variable, or a function. The argument may be (or include) a user-defined function, including the same function. Each time the user-defined function is evaluated, the argument is used in place of any (all) occurance(s) in the expression used in the definition (i.e., it replaces the "dummy" parameter). It is important to note that no "real" variable called parameter is created, and if one already exists it is not affected (or accessible) by the user function. The legal values of argument and the returned result depend (in general) on the particular expression that defines the user function. However, both the argument and the result must be numeric; custom string functions are not supported. Otherwise a TYPE MISMATCH ERROR is generated. Because a user function can only be defined in a program, calling such a function does not happen often in immediate/direct mode. This is allowed, however, if the line defining the function is still in memory and has been executed by BASIC at least once. Unlike the similar USR function, this custom user-function is defined in BASIC (see DEF), and you may have multiple custom functions by giving each a unique name. Examples 1:
Example 2:
© H2Obsession, 2014 |