CArray:new
The new method creates an instance of the CArray class. This method returns to the caller a reference to the object it creates. The calling code must assign this reference to a name (see below). If the object cannot be created, nil is returned.
Note: This method's name uses all lower case to present it as the analog of the C++ new operator. Generally, the names of class methods begin with an uppercase letter but new and delete are different.
A = CArray:new()
Default constructor. The new CArray A has no elements. The name CArray must be used with a colon to specify the type of new object to be created.
A = CArray:new( CArray2 )
This is a copy constructor. The new CArray A is initialized to the data members of the CArray2 argument.
A = CArray:new( n, val )
The new CArray A is initialized with the first n elements having the same value, val.
The parameter val is optional and may be any type of Lua value. If omitted, it defaults to 0.0.
The following example shows the default constructor and destructor pair:
A = CArray:new() |
-- create a new instance of A of the CArray class. |
... |
-- other uses of the class go here, between new and delete. |
A:delete() |
-- deletes the object and its associated memory. |
The next example shows the use of all 3 constructors: default, copy, and initialization:
A1 = CArray:new( 5, 1.0 ) |
-- initialization constructor |
A1[3] = 5 |
-- modify the value of A at index 3 |
A = CArray:new(A1) |
-- copy constructor |
B1 = CArray:new() |
-- default constructor |
B1:Init( 3, 2.0 ) |
-- define B indices 1, 2, 3 |
B = CArray:new(B1) |
-- shows Copy constructor |
Printf("AdotB = %lg", A:Dot(B) ) |
-- result: AdotB = 12 |