<< Chapter < Page Chapter >> Page >
The creation of this content was supported in some part by NSF grant 0538934.

To create an array in G, right click on the Front Panel window and select Array from the Controls>>Modern>>Arrays, Matrix&Cluster menu, and drop the array structure onto the Front Panel window to create an array.

An array structure. The top level listing of the array is labeled Modern and underneath that level is Array, Matrix & Cluster. This level is identified by two icons in a gray shaded rectangle. The icon on the left is labeled Array and the icon on the right is labeled Cluster.
Array Structure

The array structure consists of an index or element offset (highlighted left portion of the array structure) and the array elements (right portion of the structure). When the array structure is placed on the Front Panel window, the data type of the array is undefined as indicated by the grayed out portion of the array.

A screen capture showing up and down arrow buttons to the left of field containing the number 0. The arrow buttons and the field containing the number 1 are contained within a red square box labeled index. These elements are the upper left of a square labeled Elements.
Index and Elements of an Array

To define the array data type, drag and drop any data type, such as numeric, Boolean, string or cluster structure, onto the elements portion of the array structure.

An array field screen capture.
Creating Arrays

At this point, the newly defined array is an Empty or Null Array because no elements of the array have been defined. This is indicated by the grayed out data type within the elements array structure.

A form labeled 'Array' with two fields. each field contains the value '0'.
Empty Arrays

To define elements of an input array, select the element’s index and enter the appropriate value. [link] defines a numeric array with one element at index 0.

A form labeled 'Array' with two fields. The left field contains the value '0' and the right field contains '1.2345'.
Defining Array Elements

G arrays are zero-based. The last element index of an N element array is N-1 . [link] and [link] are those of a 10 element array.

A form labeled 'Array' with two fields. The left field contains the value '9' and the right field contains '9.1011'.
Last Array Element
A form labeled 'Array' with two fields. The left field contains the value '10' and the right field contains '0'.
Undefined Nth Element

An output array is created similarly to an input array with the exception that an output data type needs to be dropped into the array structure.

A form with two sets of two fields. The left form is labeled 'Numeric Input Array' with the values '0' and '0'. The right form is labeled 'Numeric Output Array' with both values being '0'.
Input and Output Arrays

Multidimensional arrays

To create multidimensional arrays, click on the array’s index and select Add Dimension from the menu.

[link] shows a 2-dimensional array.

An array form overlaid with a menu. The item 'Add Dimension' is highlighted in blue.
Creating Multidimensional Arrays
An array form with three fields. The values are '9', '9.1' and '1'.
Multidimensional Array

Array operators

A 4x7 table of icons contained under the direcotry levels 'Programming' and 'Array'.
Array Operators

Clusters

Clusters allow users to create compound data types by aggregating various and different data types into a single unit.

An empty cluster field.
Empty Cluster

Select the various data types and drag them onto the cluster structure. [link] shows an Error Cluster consisting of a Boolean Error , a numeric ID and a string Message data types.

An error cluster field with a green circle labeled 'Error'  and a field labeled 'ID' containing '2', and the last field is labeled 'Message' with the value 'Out of range'.
Cluster Example

Cluster operators

A 3x6 table of icons contained within the directory levels 'Programming'  and  'Cluster, Class, and Variant'.
Cluster Operators

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Introduction to g programming. OpenStax CNX. Mar 15, 2010 Download for free at http://cnx.org/content/col11192/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Introduction to g programming' conversation and receive update notifications?

Ask