Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to delete an element from a list in scheme

Tags:

scheme

how to delete an element from a list ex:- list=[1 2 3 4]

I have come up with some code.I think I got wrong somewhere.

 (define delete item
   (lambda (list)
   (cond
    ((equal?item (car list)) cdr list)
     (cons(car list)(delete item (cdr list))))))
like image 580
nan Avatar asked Oct 30 '25 03:10

nan


1 Answers

Your code is almost correct. The item also should be a parameter, so the function may begin with like this:

(define delete
  (lambda (item list)
  ...

Also, your code needs paren around the cdr list and else in the last clause. Then, the code may be like this:

(define delete
  (lambda (item list)
    (cond
     ((equal? item (car list)) (cdr list))
     (else (cons (car list) (delete item (cdr list)))))))
like image 159
torus Avatar answered Nov 01 '25 13:11

torus