Page 1 of 1
just a basic for beginner.
Posted: Tue Nov 26, 2013 7:32 am
by HomuciferMadokami
Code: Select all
(defun op(n)
(nth (mod n 3) '(+ - *))
)
(defun pre-op(n)
(nth (mod n 4) '(sqrt sin log))
)
(defun const(n)
(nth (mod n 11) '(0.1 1 2 3 4 5 6 7 8 9))
)
(defun main()
((op 0) 3 2)
)
(main)
how do I make it become (+ 3 2)
Re: just a basic for beginner.
Posted: Thu Nov 28, 2013 4:07 pm
by sylwester
You use *defun* and that implies Common Lisp. Common Lisp is a LISP2 and it has separate namespace for everything in operator position and argument/variable position. To be able to use a function returned from a function or passed as argument you need to use *funcall*
Code: Select all
(defun main()
(funcall (op 0) 3 2))
Good luck
Br,
Syl