tarray2.nim 566 B

12345678910111213141516171819202122232425262728293031323334353637
  1. discard """
  2. file: "tarray2.nim"
  3. output: "[4, 5, 6]\n\n[16, 25, 36]\n\n[16, 25, 36]"
  4. """
  5. # simple check for one dimensional arrays
  6. type
  7. TMyArray = array[0..2, int]
  8. TObj = object
  9. arr: TMyarray
  10. proc mul(a, b: TMyarray): TMyArray =
  11. result = a
  12. for i in 0..len(a)-1:
  13. result[i] = a[i] * b[i]
  14. var
  15. x, y: TMyArray
  16. o: TObj
  17. proc varArr1(x: var TMyArray): var TMyArray = x
  18. proc varArr2(x: var TObj): var TMyArray = x.arr
  19. x = [ 4, 5, 6 ]
  20. echo repr(varArr1(x))
  21. y = x
  22. echo repr(mul(x, y))
  23. o.arr = mul(x, y)
  24. echo repr(varArr2(o))
  25. #OUT [16, 25, 36]