Using &rest parameters in Common Lisp
Posted: Wed Feb 20, 2019 2:57 am
I am having some trouble using *&rest parameters* in a lisp program (with Common Lisp).
My knowledge of the syntax not being perfect, I may be doing something wrong.
I have two functions:
(defun func-one(&rest params) .....)
(defun func-two(param-a param-b &rest params) .....)
They are working but at some point, inside func-one I need to make a call to function-two, like this:
(func-two value-a value-b params)
I presume what I want is clear to a human reader, but my syntax is wrong because I get an error message like:
*** _ =: (1 2 3 4 5) is not a number
Since "&rest params" is meant to hold a list of numbers, I understand the message.
But how can I get the result I want?
(1 2 3 4 5) passed in the "&rest params" should be seen as : 1 2 3 4 5 by func-two
and not as one element which is a list (indeed not a number).
So, what is the right way to call func-two? Instead of what I did.
My knowledge of the syntax not being perfect, I may be doing something wrong.
I have two functions:
(defun func-one(&rest params) .....)
(defun func-two(param-a param-b &rest params) .....)
They are working but at some point, inside func-one I need to make a call to function-two, like this:
(func-two value-a value-b params)
I presume what I want is clear to a human reader, but my syntax is wrong because I get an error message like:
*** _ =: (1 2 3 4 5) is not a number
Since "&rest params" is meant to hold a list of numbers, I understand the message.
But how can I get the result I want?
(1 2 3 4 5) passed in the "&rest params" should be seen as : 1 2 3 4 5 by func-two
and not as one element which is a list (indeed not a number).
So, what is the right way to call func-two? Instead of what I did.