defun

From HandWiki
Revision as of 11:47, 8 May 2022 by imported>Gametune (fixing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

defun (short for "define function") is a macro in the Lisp family of programming languages that defines a function in the global environment[1] that uses the form:

(defun <function-name> (<parameter-1> <parameter-2> ... <parameter-N>) 
  "optional documentation"
  <function-body>...)

Defining the function addnumbers that adds two numbers:

;; Define a function that adds two numbers together:
 (defun addnumbers (number1 number2)
   (+ number1 number2))
 (addnumbers 5 4)
 9

Defining function square that squares a number:

;; Define a function that squares a number:
 (defun square (x) 
   (* x x))
 (square 4)
 16

Defining a function that returns the factorial of a number:

(defun factorial (number)
   "calculates the factorial"
   (if (= number 1)
       1
       (* number (factorial (- number 1)))))
 (factorial 6)
 720

See also

  • define in Scheme
  • defmacro in Common Lisp
  • lambda in Lisp

References

External links