Skip to content

Multidimensional Arrays

Nathaniel Sabanski edited this page Jan 20, 2016 · 5 revisions

Added by dholton dholton

Multidimensional arrays in Boo

When declaring a variable or a field as a multidimensional array, use this syntax:

foo as (int, 3) //declare a 3 dimensional array of integers.

When creating a brand spanking new multidimensional array, use this syntax:

foo = matrix(int, 2, 3, 4)
//That creates an empty 3 dimensional array.
//1st dimension will have 2 items, 2nd has 3, 3rd has 4

Set and retrieve data from the array:

foo[0,0,1] = 100
print foo[0,0,1]

This shows looping over the array to set or get values:

n = 1
for i in range(len(foo,0)): //# of items in 1st dimension
	for j in range(len(foo,1)): //2nd dimension
		for k in range(len(foo,2)): //3rd dimension
			foo[i,j,k] = n
			++n

//Print the values out in a table format:
columns = len(foo, foo.Rank - 1)
line = []
for item in foo:
	line.Add(item.ToString("00"))
	if len(line) >= columns:
		print join(line)
		line.Clear()

The whole code together produces this output:

100
01 02 03 04
05 06 07 08
09 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24

See also Lists and Arrays. Slicing works for multidimensional arrays too.

Clone this wiki locally