Clark
Clark

Reputation: 27

Function calling in scheme

I have my two functions here in my scheme code and I want to display the output check_even and count_even at once after inputting the user given list. Can anyone help me to make it possible? I'm very new to scheme and I really need your help.

Here's my code:

(define (check_even lst)  #function for checking even
   (cond ((null? lst) '())
         ((even? (car lst)) (cons (car lst) (check_even (cdr lst))))
         (else (check_even (cdr lst)))))


(define (count_even list) #function for counting even
   (if (null? list)
    0
     ( + (if (even? (car list )) 1 0)
       (count_even (cdr list)))))

Upvotes: 0

Views: 51

Answers (1)

Óscar López
Óscar López

Reputation: 236140

How about using values? it'll allow you to return multiple values, like this:

(define (results lst)
  (values (count_even lst)
          (check_even lst)))

For example:

(results '(1 2 3 4 5 6 7 8 9 10))
=> 5
   '(2 4 6 8 10)

Upvotes: 1

Related Questions