|
home—info—lectures—exams—archive
; filter : (-> (-> alpha boolean) (list-of alpha) (list-of alpha)) ; Return a list of all elements of 'data' which are 'good?'. ; (define (filter good? data) (cond [(empty? data) empty] [(cons? data) (if (good? (first data)) (cons (first data) (filter good? (rest data))) (filter good? (rest data)))])) |
; even-num? any -> boolean ; Just like 'even?', but will accept *any* input, not merely numbers. ; (define (even-num? x) (and (number? x) (even? x))) (check-expect (filter even-num? '()) '()) (check-expect (filter even-num? '(2)) '(2)) (check-expect (filter even-num? '(3)) '()) (check-expect (filter even-num? '(2 3 4)) '(2 4)) (check-expect (filter even-num? '(2 3 4 5)) '(2 4)) (check-expect (filter even-num? '(1 2 3 4 "viii")) '(2 4)) (check-expect (filter string? '(2 3 4 5)) '()) (check-expect (filter-r even-num? '()) '()) (check-expect (filter-r even-num? '(2)) '(2)) (check-expect (filter-r even-num? '(3)) '()) (check-expect (filter-r even-num? '(2 3 4)) '(4 2)) (check-expect (filter-r even-num? '(2 3 4 5)) '(4 2)) (check-expect (filter-r even-num? '(1 2 3 4 5)) '(4 2)) (check-expect (filter-r even-num? '(1 2 3 4 "viii")) '(4 2)) (check-expect (filter-r string? '(2 3 4 5)) '()) |
home—info—lectures—exams—archive
©2008, Ian Barland, Radford University Last modified 2008.Nov.07 (Fri) |
Please mail any suggestions (incl. typos, broken links) to ibarlandradford.edu |