PasteRack.org
Paste # 48654
2019-02-22 08:33:48

Fork as a new paste.

Paste viewed 278 times.


Embed:

  1. #lang racket
  2. ( define-struct person ( age sex ) )
  3. ( define-struct student ( person id ) )
  4.  
  5. (define s1 (make-student (make-person 10 "male") 123))
  6. (define s2 (make-student (make-person 20 "male") 456))
  7. (define s3 (make-student (make-person 30 "male") 789))
  8. (define stud-lst (list s1 s2 s3))
  9.  
  10.  
  11. (define (mean-of-ages students)
  12.   (cond
  13.     [(= (length students) 1)  (person-age (student-person (first students))) ]
  14.     [else (+ (person-age(student-person(first students)))  (mean-of-ages (rest students)))]
  15.     )
  16.   )
  17.  
  18. (mean-of-ages stud-lst)
  19. (length stud-lst)

=>

60

3