I am trying to add a new atom after every search atom in the list, my code is as below -
Code: Select all
(defun appendConst (OLD NEW L)
(cond
((null L) ())
((EQ (car L) OLD) (cons OLD (cons NEW (cdr L))))
(T (cons (car L) (appendConst OLD NEW (cdr L))))
))
Input: (appendConst 'a 'd '(a c e a m k))
Ouput: (A D C E A M K)
Required Output: (A D C E A D M K)
I tried calling the function recursively, but I can see that it doesn't work, as the no. of arguments are not properly being passed.
Code: Select all
(defun appendConst (OLD NEW L)
(cond
((null L) ())
((EQ (car L) OLD) (appendConst (cons OLD (cons NEW (cdr L)))) )
(T (cons (car L) (appendConst OLD NEW (cdr L))))
))