chore: update sample lisp file
This commit is contained in:
parent
b5c6d0ed87
commit
ec8e8e2c32
51
sample.lisp
51
sample.lisp
|
|
@ -1,14 +1,57 @@
|
||||||
|
(defvar x (+ 3 6 9)) ;; x is 18
|
||||||
|
(print x)
|
||||||
|
(setq x (- 3 6 9)) ;; x is -12
|
||||||
|
(print x)
|
||||||
|
|
||||||
|
(defconstant xconst (= (and 3 6 9) (or 9 6 3))) ;; xconst is T
|
||||||
|
(print xconst)
|
||||||
|
|
||||||
|
(print
|
||||||
|
(>= (max 4 5 8 2 1 9) (min 3843 29 72 222))
|
||||||
|
); => NIL
|
||||||
|
|
||||||
|
(print (not
|
||||||
|
(>= (max 4 5 8 2 1 9) (min 3843 29 72 222))
|
||||||
|
)); => T
|
||||||
|
|
||||||
|
(setq
|
||||||
|
x
|
||||||
|
(logand (logior 28892 28348 29293) (logxor 118 48441 59410) (logeqv 3892 2938 2919))
|
||||||
|
) ; x <- 1033
|
||||||
|
|
||||||
(
|
(
|
||||||
defun f (x)
|
defun fibonacci (x)
|
||||||
|
"This function calculates fibonacci numbers."
|
||||||
(
|
(
|
||||||
if (<= x 1)
|
if (<= x 1)
|
||||||
1
|
1
|
||||||
(
|
(
|
||||||
+
|
+
|
||||||
(f (- x 1))
|
(fibonacci (- x 1))
|
||||||
(f (- x 2))
|
(fibonacci (- x 2))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
(f 15)
|
(fibonacci 15) ; returns 987
|
||||||
|
|
||||||
|
; This is a comment.
|
||||||
|
; This is another comment.
|
||||||
|
|
||||||
|
(print (+ 1 2 3 4 5)) ; prints 15
|
||||||
|
|
||||||
|
(print "Hello, world!") ; prints Hello, world!
|
||||||
|
|
||||||
|
(loop
|
||||||
|
for i from 1 to 10
|
||||||
|
do (print i)
|
||||||
|
) ; prints 1 2 3 4 5 6 7 8 9 10
|
||||||
|
|
||||||
|
(defvar i 1)
|
||||||
|
(loop (if (> i 5) (return i)) (incf i 3)) ; returns 7
|
||||||
|
|
||||||
|
(dotimes (i 10) (print i)) ; prints 0 1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
(defvar arr (make-array 10))
|
||||||
|
(loop for i from 0 to 9 do (setf (aref arr i) i))
|
||||||
|
(loop for i from 0 to 9 do (print (aref arr i))) ; prints 0 1 2 3 4 5 6 7 8 9
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue