19 lines
425 B
Racket
19 lines
425 B
Racket
#lang racket
|
|
|
|
(define (list-length list)
|
|
(match list
|
|
[`() 0]
|
|
[(cons head tail) (cons (f head)
|
|
(list-length f tail))]))
|
|
|
|
(module+ test
|
|
(require rackunit)
|
|
(check-equal? (list-length '(1 2 3)) 3)
|
|
(check-equal? (list-length '()) 0))
|
|
|
|
(define (my-map2 f lst)
|
|
(match lst
|
|
['() '()]
|
|
[(list head tail ...) (cons (f head)
|
|
(my-map2 f tail))]))
|