list-index (Scheme)

/ Published in: Lisp
Save to your folder(s)

This one drove me crazy because of the requirement to return -1 if s not in los.

(list-index s los) returns the zero-based index of the first
occurence of s in los, or -1 if there is no occurences of s in los.

Copy this code and paste it in your HTML
  1. (define list-index
  2. (lambda (s los)
  3. (if (null? los)
  4. -1
  5. (if (eq? (car los) s)
  6. 0
  7. (if (= (list-index s (cdr los)) -1)
  8. -1
  9. (+ 1 (list-index s (cdr los))))))))

Report this snippet


RSS Icon Subscribe to comments

You need to login to post a comment.