Difference between revisions of "Array class"

From Catglobe Wiki
Jump to: navigation, search
Line 38: Line 38:
 
   
 
   
  
==== <span style="color:#a52a2a;">'''Examples'''</span> ====
+
==== <span style="color:#a52a2a;">'''Examples'''</span> ====
 +
 
 
<source lang="javascript">array x = new Array();
 
<source lang="javascript">array x = new Array();
print(x);        //  {}</source><br>
+
print(x);        //  {}</source><br> <source lang="javascript">array x = new Array(10);
&nbsp;
+
print(x);              //  {Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty}</source><br> <source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
<source lang="javascript">array x = new Array(10);
 
print(x);              //  {Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty}</source><br>
 
&nbsp;
 
<source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
 
 
array y = x
 
array y = x
 
.Select(function (number a) { a;})
 
.Select(function (number a) { a;})
Line 53: Line 50:
 
// .Select(function () { a;})      -> will not work: Function called with too many parameters @
 
// .Select(function () { a;})      -> will not work: Function called with too many parameters @
 
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
 
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
print(y);</source><br>
+
print(y);</source><br> <source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
&nbsp;
 
<source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
 
 
array y = x
 
array y = x
 
.Select(function (number a) { 88888;})
 
.Select(function (number a) { 88888;})
 
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
 
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
print(y);</source><br>
+
print(y);</source><br> <source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
&nbsp;
 
<source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
 
 
array y = x
 
array y = x
 
.Select(function (number a) { a;})
 
.Select(function (number a) { a;})
Line 67: Line 60:
 
.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;});
 
// .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);</source><br>
+
print(y);</source><br> <source lang="javascript">array x = {{1,2,3},{4,false,6,7,8},{10,"ab",{"aaa",11,true},13,14},{"aa","bb",17},{},{true,88}};
&nbsp;
+
array y = x
 
+
.Select(function (array a) {; a;})
array x = {{1,2,3},{4,false,6,7,8},{10,&quot;ab&quot;,{&quot;aaa&quot;,11,true},13,14},{&quot;aa&quot;,&quot;bb&quot;,17},{},{true,88}};  
+
.Where(function (array a) {arrayCount(a) > 3;});
 
+
print(y);                   //     {{4,False,6,7,8},{10,ab,{aaa,11,True},13,14}}</source><br> <source lang="javascript">array y = {20,30,40,50,70,80,90,100};
array y = x  
+
print(y.FirstOrDefault(function (number a) { true; }));                       // 20
 
+
print(y.FirstOrDefault(function (number a) { a > 70; }));                     // 80
.Select(function (array a) {; a;})  
+
print(y.First(function(number a) { true; }));                                 // 20
 
+
print(y.First(function(number a) { a > 40; }));                               // 50</source>  
.Where(function (array a) {arrayCount(a) &gt; 3;});  
 
 
 
print(y); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#008000;">&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; {{4,False,6,7,8},{10,ab,{aaa,11,True},13,14}}</span>  
 
 
 
&nbsp;
 
 
 
array y = {20,30,40,50,70,80,90,100};  
 
 
 
print(y.FirstOrDefault(function (number a) { true; }));&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#008000;">// 20</span>
 
 
 
print(y.FirstOrDefault(function (number a) { a &gt; 70; }));&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color:#008000;">// 80</span>
 
 
 
print(y.First(function(number a) { true; }));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#008000;">// 20</span>
 
 
 
print(y.First(function(number a) { a &gt; 40; }));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color:#008000;">// 50</span>  
 
 
 
&nbsp;
 
 
 
&nbsp;
 
 
 
&nbsp;
 
  
 
[[Category:Data_Types_Literals_and_Variables]]
 
[[Category:Data_Types_Literals_and_Variables]]

Revision as of 09:27, 14 September 2011

Array : The array object

 

Constructors

  • () - Creates an empty array.
  • (number count) - Creates an array with a predefined size, where all elements are Empty. Count is a number type, it is number of items to put in the array.

Methods

  • Empty Add(AnyType element) - Add a new element to the Array.
  • number Frequency(number Number) - Counts the number of times a given Number object exists in the Array. Can only use if all the elements are of type number. Number is the number to search for.
  • 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.
  • Empty set_Item(number index, AnyType value) - Set element value at index.
  • AnyType get_Item(number index) - Get element at index.
  • Empty RemoveItemAt(number index) - Remove an element from the Array. index is the index to remove the object from.
  • string ToString() - The string representation of the object.
  • array Select(Function selector) - Projects each element of a sequence into a new form. selector is a transform function to apply to each element.
  • array Where(Function predicate) - Filters a sequence of values based on a predicate. predicate is a function that takes 1 parameter of the types in the array and return true/false.
  • array OrderBy(Function comparer) - Sorts the elements of a sequence in ascending order by using a specified comparer. comparer is a 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.
  • AnyType First(Function selector) - Returns the first element in a sequence that satisfies a specified condition. selector is a function to test each element for a condition.
  • AnyType FirstOrDefault(Function selector) - Returns the first element in a sequence that satisfies a specified condition or empty if not found. selector is a function to test each element for a condition.

Properties

  • number Average HasGetter  - Average of the objects in the Array object. Can only use if all the elements are of type Number.
  • number Count HasGetter  - Number of elements in Array.
  • number Max HasGetter  - Largest of all the objects in the Array object. Can only use if all the elements are of type Number.
  • number Min HasGetter  - Smallest of all the objects in the Array object. Can only use if all the elements are of type Number.
  • string ObjectTypeName HasGetter  - The name of the type of object.
  • number Sum HasGetter  - Sum of all the objects in the Array object. Can only use if all the elements are of type Number.
  • TypeInformation TypeInformation HasGetter  - 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