Array class

From Catglobe Wiki
Revision as of 05:05, 12 March 2013 by Cg pham (talk | contribs)
Jump to: navigation, search

Array

The array object


Constructors


• () - Creates an empty array
• (number count "Number of items to put in the array") - Creates an array with a predefined size, where all elements are Empty


Methods


• Empty Add(AnyType element "element to add") - Add a new element to the Array


• AnyType First(Function selector "A function to test each element for a condition.") - Returns the first element in a sequence that satisfies a specified condition.


• AnyType FirstOrDefault(Function selector "A function to test each element for a condition.") - Returns the first element in a sequence that satisfies a specified condition or empty if not found.


• number Frequency(number number "The number to search for") - Counts the number of times a given Number object exists in the Array. Can only use if all the elements are of type Number


• AnyType this[] { get; }(number index "Index") - Get element at index


• bool IsCharacterArray() - check if array is an array of characters


• bool IsNumericArray() - check if array is an array of numbers


• bool IsNumericArray() - check if array is an array of integer numbers


• bool IsStringArray() - check if array is an array of string


• array OrderBy(Function comparer "Function that compares two objects of the same type. Must return a signed integer that indicates the relative values of first param A and second param B. Value Less than 0 : A is less than B.Value 0 : A equals B.Value Greater than 0 : A is greater than B.") - Sorts the elements of a sequence in ascending order by using a specified comparer.


• Empty RemoveItemAt(number index "The index to remove the object from") - Remove an element from the Array


• array Select(Function selector "A transform function to apply to each element.") - Projects each element of a sequence into a new form.


• Empty this[] { set; }(number index "Index", AnyType value "Value to set") - Set element value at index


• string ToString() - The string representation of the object.


• array Where(Function predicate "A function that takes 1 parameter of the types in the array and return true/false") - Filters a sequence of values based on a predicate.


Properties


• number Average { get; } - Average of the objects in the Array object. Can only use if all the elements are of type Number
• number Count { get; } - Number of elements in Array
• number Max { get; } - Largest of all the objects in the Array object. Can only use if all the elements are of type Number
• number Min { get; } - Smallest of all the objects in the Array object. Can only use if all the elements are of type Number
• string ObjectTypeName { get; } - The name of the type of object.
• number Sum { get; } - Sum of all the objects in the Array object. Can only use if all the elements are of type Number
• TypeInformation TypeInformation { get; } - Get information about this class.


Examples

array x = new Array();
print(x);         //   {}


array x = new Array(10);
print(x);              //   {Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty}


array x = {10,20,30,40,50,60,70,80,90,100};
array y = x
.Select(function (number a) { a;})
//  .Select(function (string a) { a;})  -> will not work: Cannot assign a value of type 'Number' to a variable of type 'String'
//  .Select(function (array a) { a;})  -> will not work: Cannot assign a value of type 'Number' to a variable of type 'Array'
//  .Select(function (bool a) { a;})  -> will not work: Cannot assign a value of type 'Number' to a variable of type 'Boolean'
//  .Select(function () { a;})       -> will not work: Function called with too many parameters @
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
print(y);


array x = {10,20,30,40,50,60,70,80,90,100};
array y = x
.Select(function (number a) { 88888;})
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
print(y);


array x = {10,20,30,40,50,60,70,80,90,100};
array y = x
.Select(function (number a) { a;})
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;})
.OrderBy(function(number a, number b) {if (a>b) 1; else if (a<b) -1; else 0;});
// .OrderBy(function(number a, number b){if (a>b) -1; else if (a<b) 1; else 0;});
print(y);


array x = {{1,2,3},{4,false,6,7,8},{10,"ab",{"aaa",11,true},13,14},{"aa","bb",17},{},{true,88}};
array y = x
.Select(function (array a) {; a;})
.Where(function (array a) {arrayCount(a) > 3;});
print(y);                    //     {{4,False,6,7,8},{10,ab,{aaa,11,True},13,14}}


array y = {20,30,40,50,70,80,90,100};
print(y.FirstOrDefault(function (number a) { true; }));                        // 20
print(y.FirstOrDefault(function (number a) { a > 70; }));                      // 80
print(y.First(function(number a) { true; }));                                  // 20
print(y.First(function(number a) { a > 40; }));                                // 50