PasteRack.org
Paste # 75547
2021-01-17 05:40:38

Fork as a new paste.

Paste viewed 162 times.


Embed:

  1. #lang racket
  2. (define (sum vec)
  3.   (sum-upto vec (vector-length vec)))
  4.  
  5. (check-expect (sum (vector)) 0)
  6. (check-expect (sum (vector 1 2 3)) 6)
  7. (check-expect (sum (vector -1 1 -1 1 -1)) -1)
  8.  
  9.  
  10. ; sum-upto : Vector<Number> Natural -> Number
  11. ; sum all numbers in `vec` from index 0 to `index` excluded
  12. ; require: (<= 0 index (vector-length vec))
  13. (define (sum-upto vec index)
  14.   (cond
  15.     [(zero? index) 0]
  16.     [else (+ (vector-ref vec (sub1 index))
  17.              (sum-upto vec (sub1 index)))]))

=>

check-expect: undefined;

 cannot reference an identifier before its definition

  in module: 'm

check-expect: undefined;

 cannot reference an identifier before its definition

  in module: 'm

check-expect: undefined;

 cannot reference an identifier before its definition

  in module: 'm