Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 841 Bytes

File metadata and controls

60 lines (45 loc) · 841 Bytes

DEF

DEF defines a function or a subroutine.

Forms

Single line form

DEF FN fnName([arg [, args...]]) = expression
DEF SUB subName([arg, [, args...]]) = statement

Multiline form

DEF FN fnName([arg [, args...])
  REM statements
  RETURN result
END FN

DEF SUB subName([arg [, args...]])
  REM Statements
END SUB

Examples

Single line functions

DEF FN double(x) = RETURN x * 2
DEF FN textAddr(row, col) = RETURN row * 32 + col

Multiline function

DEF FN upper$(str$)
  DIM t$, ch$, ch
  FOR i = 0 TO LEN(str$)
    ch$ = str$[i]
    ch = ASC(ch$)
    IF ch >= ASC("a") AND ch <= ASC("z") THEN
      ch = ch - 32
    END IF
    t$ = t$ + CHR$(ch)
  NEXT i
  RETURN t$
END FN

Subroutine

DEF SUB printIntro()
  PRINT "Hello, world!"
END SUB