mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
37 lines
568 B
Nim
37 lines
568 B
Nim
discard """
|
|
file: "tarray2.nim"
|
|
output: "[4, 5, 6]\n\n[16, 25, 36]\n\n[16, 25, 36]"
|
|
"""
|
|
# simple check for one dimensional arrays
|
|
|
|
type
|
|
TMyArray = array[0..2, int]
|
|
|
|
TObj = object
|
|
arr: TMyarray
|
|
|
|
proc mul(a, b: TMyarray): TMyArray =
|
|
result = a
|
|
for i in 0..len(a)-1:
|
|
result[i] = a[i] * b[i]
|
|
|
|
var
|
|
x, y: TMyArray
|
|
o: TObj
|
|
|
|
proc varArr1(x: var TMyArray): var TMyArray = x
|
|
proc varArr2(x: var TObj): var TMyArray = x.arr
|
|
|
|
x = [ 4, 5, 6 ]
|
|
echo repr(varArr1(x))
|
|
|
|
y = x
|
|
echo repr(mul(x, y))
|
|
|
|
o.arr = mul(x, y)
|
|
echo repr(varArr2(o))
|
|
|
|
#OUT [16, 25, 36]
|
|
|
|
|