PasteRack.org
Paste # 62638
2014-10-30 10:22:23

Fork as a new paste.

Paste viewed 34 times.


Embed:

  1. #lang racket
  2.  
  3. (define board (build-vector 8 (lambda (n)
  4.                                 (build-vector 8 (lambda (k)
  5.                                                   (+ (* 8 n) k))))))
  6.  
  7. (define (board-ref row column)
  8.   (vector-ref (vector-ref board row) column))
  9.  
  10. (define (column n)
  11.   (map (lambda (k)
  12.          (board-ref k n))
  13.        (range 8)))
  14.  
  15. (define (row n)
  16.   (map (lambda (k)
  17.          (board-ref n k))
  18.        (range 8)))
  19.  
  20. (row 0)
  21. (row 1)
  22.  
  23. (column 0)
  24. (column 1)

=>

'(0 1 2 3 4 5 6 7)

'(8 9 10 11 12 13 14 15)

'(0 8 16 24 32 40 48 56)

'(1 9 17 25 33 41 49 57)