Difference between revisions of "Array class"

From Catglobe Wiki
Jump to: navigation, search
Line 1: Line 1:
{{HelpFiles}}
+
[[Category:Classes]]
{{CGscriptClass_Template
 
|Name=<nowiki>Array</nowiki>
 
|Description=<nowiki>The array object</nowiki>
 
|Constructors=
 
{{CGscriptConstructors_Template|Description=<nowiki>Creates an empty array</nowiki>}}
 
{{CGscriptConstructors_Template|Parameters=
 
{{CGscriptParameters_Template|Type=number|Name=<nowiki>count</nowiki>|Description=<nowiki>Number of items to put in the array</nowiki>}}
 
|Description=<nowiki>Creates an array with a predefined size, where all elements are Empty</nowiki>}}
 
|Methods=
 
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Add</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=AnyType|Name=<nowiki>element</nowiki>|Description=<nowiki>element to add</nowiki>}}
 
|Description=<nowiki>Add a new element to the Array</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=AnyType|Name=<nowiki>First</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=Function|Name=<nowiki>selector</nowiki>|Description=<nowiki>A function to test each element for a condition.</nowiki>}}
 
|Description=<nowiki>Returns the first element in a sequence that satisfies a specified condition.</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=AnyType|Name=<nowiki>FirstOrDefault</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=Function|Name=<nowiki>selector</nowiki>|Description=<nowiki>A function to test each element for a condition.</nowiki>}}
 
|Description=<nowiki>Returns the first element in a sequence that satisfies a specified condition or empty if not found.</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=number|Name=<nowiki>Frequency</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=number|Name=<nowiki>number</nowiki>|Description=<nowiki>The number to search for</nowiki>}}
 
|Description=<nowiki>Counts the number of times a given Number object exists in the Array. Can only use if all the elements are of type Number</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=AnyType|Name=<nowiki>this[] { get; }</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=number|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>}}
 
|Description=<nowiki>Get element at index</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>IsCharacterArray</nowiki>|Description=<nowiki>check if array is an array of characters</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>IsNumericArray</nowiki>|Description=<nowiki>check if array is an array of numbers</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>IsNumericArray</nowiki>|Description=<nowiki>check if array is an array of integer numbers</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>IsStringArray</nowiki>|Description=<nowiki>check if array is an array of string</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>OrderBy</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=Function|Name=<nowiki>comparer</nowiki>|Description=<nowiki>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.</nowiki>}}
 
|Description=<nowiki>Sorts the elements of a sequence in ascending order by using a specified comparer.</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>RemoveItemAt</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=number|Name=<nowiki>index</nowiki>|Description=<nowiki>The index to remove the object from</nowiki>}}
 
|Description=<nowiki>Remove an element from the Array</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>Select</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=Function|Name=<nowiki>selector</nowiki>|Description=<nowiki>A transform function to apply to each element.</nowiki>}}
 
|Description=<nowiki>Projects each element of a sequence into a new form.</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>this[] { set; }</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=number|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=AnyType|Name=<nowiki>value</nowiki>|Description=<nowiki>Value to set</nowiki>}}
 
|Description=<nowiki>Set element value at index</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=string|Name=<nowiki>ToString</nowiki>|Description=<nowiki>The string representation of the object.</nowiki>}}
 
{{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>Where</nowiki>|Parameters=
 
{{CGscriptParameters_Template|Type=Function|Name=<nowiki>predicate</nowiki>|Description=<nowiki>A function that takes 1 parameter of the types in the array and return true/false</nowiki>}}
 
|Description=<nowiki>Filters a sequence of values based on a predicate.</nowiki>}}
 
|Properties=
 
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>Average</nowiki>|HasGetter=1|Description=<nowiki>Average of the objects in the Array object. Can only use if all the elements are of type Number</nowiki>}}
 
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>Count</nowiki>|HasGetter=1|Description=<nowiki>Number of elements in Array</nowiki>}}
 
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>Max</nowiki>|HasGetter=1|Description=<nowiki>Largest of all the objects in the Array object. Can only use if all the elements are of type Number</nowiki>}}
 
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>Min</nowiki>|HasGetter=1|Description=<nowiki>Smallest of all the objects in the Array object. Can only use if all the elements are of type Number</nowiki>}}
 
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ObjectTypeName</nowiki>|HasGetter=1|Description=<nowiki>The name of the type of object.</nowiki>}}
 
{{CGscriptProperties_Template|ReturnType=number|Name=<nowiki>Sum</nowiki>|HasGetter=1|Description=<nowiki>Sum of all the objects in the Array object. Can only use if all the elements are of type Number</nowiki>}}
 
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=<nowiki>TypeInformation</nowiki>|HasGetter=1|Description=<nowiki>Get information about this class.</nowiki>}}
 
}}
 
  
=== <span style="color:#DF8621;">'''Examples'''</span> ===
+
= Array =
  
<source lang="javascript">array x = new Array();
+
=== The array object <br> ===
print(x);         /{}</source><br> <source lang="javascript">array x = new Array(10);
+
 
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};
+
=== <br>Constructors<br> ===
array y = x
+
 
.Select(function (number a) { a;})
+
<br>• () - Creates an empty array<br>• (number count "Number of items to put in the array") - Creates an array with a predefined size, where all elements are Empty<br>
// .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'
+
== <br>Methods<br> ==
// .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 @
+
<br>• Empty Add(AnyType element "element to add") - Add a new element to the Array<br>• 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.<br>• 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.<br>• 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<br>• AnyType this[] { get; }(number index "Index") - Get element at index<br>• bool IsCharacterArray() - check if array is an array of characters<br>• bool IsNumericArray() - check if array is an array of numbers<br>• bool IsNumericArray() - check if array is an array of integer numbers<br>• bool IsStringArray() - check if array is an array of string<br>• 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.<br>• Empty RemoveItemAt(number index "The index to remove the object from") - Remove an element from the Array<br>• array Select(Function selector "A transform function to apply to each element.") - Projects each element of a sequence into a new form.<br>• Empty this[] { set; }(number index "Index", AnyType value "Value to set") - Set element value at index<br>• string ToString() - The string representation of the object.<br>• 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.<br>
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
+
 
print(y);</source><br> <source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
+
=== <br>Properties<br> ===
array y = x
+
 
.Select(function (number a) { 88888;})
+
<br>
.Where(function (number a) {number i = getRandomNumber(0,10)*10; i > 40;});
+
 
print(y);</source><br> <source lang="javascript">array x = {10,20,30,40,50,60,70,80,90,100};
+
• number Average { get; } - Average of the objects in the Array object. Can only use if all the elements are of type Number<br>• number Count { get; } - Number of elements in Array<br>• number Max { get; } - Largest of all the objects in the Array object. Can only use if all the elements are of type Number<br>• number Min { get; } - Smallest of all the objects in the Array object. Can only use if all the elements are of type Number<br>• string ObjectTypeName { get; } - The name of the type of object.<br>• number Sum { get; } - Sum of all the objects in the Array object. Can only use if all the elements are of type Number<br>• TypeInformation TypeInformation { get; } - Get information about this class.<br>
array y = x
+
 
.Select(function (number a) { a;})
+
<br>
.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;});
+
=== Examples <br> ===
// .OrderBy(function(number a, number b){if (a>b) -1; else if (a<b) 1; else 0;});
+
 
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}};
+
<br>1. array x = new Array();<br>2. print(x); // {}
array y = x
+
 
.Select(function (array a) {; a;})
+
1. array x = new Array(10);<br>2. print(x); // {Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty,Empty}
.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};
+
1. array x = {10,20,30,40,50,60,70,80,90,100};<br>2. array y = x<br>3. .Select(function (number a) { a;})<br>4. // .Select(function (string a) { a;}) -&gt; will not work: Cannot assign a value of type 'Number' to a variable of type 'String'<br>5. // .Select(function (array a) { a;}) -&gt; will not work: Cannot assign a value of type 'Number' to a variable of type 'Array'<br>6. // .Select(function (bool a) { a;}) -&gt; will not work: Cannot assign a value of type 'Number' to a variable of type 'Boolean'<br>7. // .Select(function () { a;}) -&gt; will not work: Function called with too many parameters @<br>8. .Where(function (number a) {number i = getRandomNumber(0,10)*10; i &gt; 40;});<br>9. print(y);
print(y.FirstOrDefault(function (number a) { true; }));                        // 20
+
 
print(y.FirstOrDefault(function (number a) { a > 70; }));                      // 80
+
1. array x = {10,20,30,40,50,60,70,80,90,100};<br>2. array y = x<br>3. .Select(function (number a) { 88888;})<br>4. .Where(function (number a) {number i = getRandomNumber(0,10)*10; i &gt; 40;});<br>5. print(y);
print(y.First(function(number a) { true; }));                                  // 20
+
 
print(y.First(function(number a) { a > 40; }));                                // 50</source>
+
1. array x = {10,20,30,40,50,60,70,80,90,100};<br>2. array y = x<br>3. .Select(function (number a) { a;})<br>4. .Where(function (number a) {number i = getRandomNumber(0,10)*10; i &gt; 40;})<br>5. .OrderBy(function(number a, number b) {if (a&gt;b) 1; else if (a&lt;b) -1; else 0;});<br>6. // .OrderBy(function(number a, number b){if (a&gt;b) -1; else if (a&lt;b) 1; else 0;});<br>7. print(y);<br><br>
 +
 
 +
<br>
 +
 
 +
<br><br>

Revision as of 04:56, 12 March 2013


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


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

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

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

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

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