vector.scm 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. ;;; GNU Mes --- Maxwell Equations of Software
  2. ;;; Copyright © 2016,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
  3. ;;;
  4. ;;; This file is part of GNU Mes.
  5. ;;;
  6. ;;; GNU Mes is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Mes is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Mes. If not, see <http://www.gnu.org/licenses/>
  18. ;; Setup output file
  19. (set-current-output-port (open-output-file "test/results/test008.answer"))
  20. ;; Demonstrate making a vector
  21. (display "making vector with make-vector\n")
  22. (define v (make-vector 4))
  23. (display v)
  24. ;; Test vector-length
  25. (display "\nusing vector-length\n")
  26. (display (vector-length v))
  27. ;; Test vector-set!
  28. (display "\nusing vector-set!\n")
  29. (vector-set! v 0 3)
  30. (vector-set! v 1 9)
  31. (vector-set! v 2 7)
  32. (vector-set! v 3 8)
  33. (display v)
  34. ;; Validate vector->list
  35. (display "\nusing vector->list\n")
  36. (display (vector->list v))
  37. ;; Validate list->vector
  38. (display "\nusing list->vector\n")
  39. (set! v (list->vector (list 1 2 3 4)))
  40. (display v)
  41. ;; Validate vector-ref
  42. (display "\nUsing vector-ref\n")
  43. (display (vector-ref v 3))
  44. (display #\newline)
  45. (display (vector-ref v 2))
  46. (display #\newline)
  47. (display (vector-ref v 1))
  48. (display #\newline)
  49. (display (vector-ref v 0))
  50. (display #\newline)
  51. (exit 0)