summary refs log blame commit diff stats
path: root/tests/array/troof1.nim
blob: b486c3448290fc8fd0febb6819def0abc75e4502 (plain) (tree)
1
2
3
4
5
6
7
8

                          



                                                 
                      
             







                                                              

                  



















                                             




                                     
discard """
  output: '''@[2, 3, 4]321
9.0 4.0
3
@[(Field0: 1, Field1: 2), (Field0: 3, Field1: 5)]
2
@["a", "new one", "c"]
@[1, 2, 3]'''
"""

proc foo[T](x, y: T): T = x

var a = @[1, 2, 3, 4]
var b: array[3, array[2, float]] = [[1.0,2], [3.0,4], [8.0,9]]
echo a[1.. ^1], a[^2], a[^3], a[^4]
echo b[^1][^1], " ", (b[^2]).foo(b[^1])[^1]

b[^1] = [8.8, 8.9]

var c: seq[(int, int)] = @[(1,2), (3,4)]

proc takeA(x: ptr int) = echo x[]

takeA(addr c[^1][0])
c[^1][1] = 5
echo c

proc useOpenarray(x: openArray[int]) =
  echo x[^2]

proc mutOpenarray(x: var openArray[string]) =
  x[^2] = "new one"

useOpenarray([1, 2, 3])

var z = @["a", "b", "c"]
mutOpenarray(z)
echo z

# bug #6675
var y: array[1..5, int] = [1,2,3,4,5]
y[3..5] = [1, 2, 3]
echo y[3..5]