Toggle menu
875
3.8K
30.2K
279.1K
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Array class: Difference between revisions

From Catglobe Wiki
Tungocman (talk | contribs)
No edit summary
Dennis (talk | contribs)
No edit summary
Line 1: Line 1:
=== '''Array : The array object''' ===
{{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>}}
}}


&nbsp;
==== <span style="color:#a52a2a;">'''Constructors'''</span>  ====
*<span style="color:#000000;">'''() '''- Creates an empty array.</span>
*<span style="color:#000000;">'''(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.</span>
==== <span style="color:#a52a2a;">'''Methods'''</span>  ====
*<span style="color:#000000;">'''Empty Add(AnyType element)''' - Add a new element to the Array.</span>
*<span style="color:#000000;">'''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.</span>
*<span style="color:#000000;">'''bool IsCharacterArray()''' - Check if array is an array of characters.</span>
*<span style="color:#000000;">'''bool IsNumericArray()''' - Check if array is an array of numbers.</span>
*<span style="color:#000000;">'''bool IsNumericArray()''' - Check if array is an array of integer numbers.</span>
*<span style="color:#000000;">'''bool IsStringArray()''' - Check if array is an array of string.</span>
*<span style="color:#000000;">'''Empty set_Item(number index, AnyType value)''' - Set element value at index.</span>
*<span style="color:#000000;">'''AnyType get_Item(number index)''' - Get element at index.</span>
*<span style="color:#000000;">'''Empty RemoveItemAt(number index)''' - Remove an element from the Array. index is the index to remove the object from.</span>
*<span style="color:#000000;">'''string ToString()''' - The string representation of the object.</span>
*<span style="color:#000000;">'''array Select(Function selector)''' - Projects each element of a sequence into a new form. selector is a transform function to apply to each element.</span>
*<span style="color:#000000;">'''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.</span>
*<span style="color:#000000;">'''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&nbsp;: A is less than B.Value 0&nbsp;: A equals B.Value Greater than 0&nbsp;: A is greater than B.</span>
*<span style="color:#000000;">'''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.</span>
*<span style="color:#000000;">'''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.</span>
==== <span style="color:#a52a2a;">'''Properties'''</span>  ====
*<span style="color:#000000;">'''number Average HasGetter'''&nbsp; - Average of the objects in the Array object. Can only use if all the elements are of type Number.</span>
*<span style="color:#000000;">'''number Count HasGetter'''&nbsp; - Number of elements in Array.</span>
*<span style="color:#000000;">'''number Max HasGetter'''&nbsp; - Largest of all the objects in the Array object. Can only use if all the elements are of type Number.</span>
*<span style="color:#000000;">'''number Min HasGetter'''&nbsp; - Smallest of all the objects in the Array object. Can only use if all the elements are of type Number.</span>
*<span style="color:#000000;">'''string ObjectTypeName HasGetter'''&nbsp; - The name of the type of object.</span>
*<span style="color:#000000;">'''number Sum HasGetter'''&nbsp; - Sum of all the objects in the Array object. Can only use if all the elements are of type Number.</span>
*<span style="color:#000000;">'''TypeInformation TypeInformation HasGetter'''&nbsp; - Get information about this class.</span>
&nbsp;


==== <span style="color:#a52a2a;">'''Examples'''</span>  ====
==== <span style="color:#a52a2a;">'''Examples'''</span>  ====

Revision as of 08:39, 22 September 2011

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