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))]))
|