Difference between revisions of "Array class"
Nguyenduyan (talk | contribs) |
Nguyenduyan (talk | contribs) |
||
Line 1: | Line 1: | ||
{{CGscriptClass_Template | {{CGscriptClass_Template | ||
− | |Name=Array | + | |Name=<nowiki>Array</nowiki> |
− | |Description=The array object | + | |Description=<nowiki>The array object</nowiki> |
|Constructors= | |Constructors= | ||
− | {{CGscriptConstructors_Template|Description=Creates an empty array}} | + | {{CGscriptConstructors_Template|Description=<nowiki>Creates an empty array</nowiki>}} |
{{CGscriptConstructors_Template|Parameters= | {{CGscriptConstructors_Template|Parameters= | ||
− | {{CGscriptParameters_Template|Type=array|Name=toCopy|Description=Array to copy}} | + | {{CGscriptParameters_Template|Type=array|Name=<nowiki>toCopy</nowiki>|Description=<nowiki>Array to copy</nowiki>}} |
− | |Description=Creates a copy of another array}} | + | |Description=<nowiki>Creates a copy of another array</nowiki>}} |
{{CGscriptConstructors_Template|Parameters= | {{CGscriptConstructors_Template|Parameters= | ||
− | {{CGscriptParameters_Template|Type=int|Name=count|Description=Number of items to put in the array}} | + | {{CGscriptParameters_Template|Type=int|Name=<nowiki>count</nowiki>|Description=<nowiki>Number of items to put in the array</nowiki>}} |
− | |Description=Creates an array with a predefined size, where all elements are Empty}} | + | |Description=<nowiki>Creates an array with a predefined size, where all elements are Empty</nowiki>}} |
|Methods= | |Methods= | ||
− | {{CGscriptMethods_Template|ReturnType=Empty|Name=Add|Parameters= | + | {{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Add</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=object|Name=element|Description=element to add}} | + | {{CGscriptParameters_Template|Type=object|Name=<nowiki>element</nowiki>|Description=<nowiki>element to add</nowiki>}} |
− | |Description=Add a new element to the Array}} | + | |Description=<nowiki>Add a new element to the Array</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=bool|Name=Contains|Parameters= | + | {{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>Contains</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=object|Name=element|Description=Element to check for}} | + | {{CGscriptParameters_Template|Type=object|Name=<nowiki>element</nowiki>|Description=<nowiki>Element to check for</nowiki>}} |
− | |Description=Return true if the array contains the element using the normal equal operator.}} | + | |Description=<nowiki>Return true if the array contains the element using the normal equal operator.</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=object|Name=First|Parameters= | + | {{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>Except</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=Function|Name=selector|Description=A function to test each element for a condition.}} | + | {{CGscriptParameters_Template|Type=array|Name=<nowiki>elements</nowiki>|Description=<nowiki>Elements to remove</nowiki>}} |
− | |Description=Returns the first element in a sequence that satisfies a specified condition.}} | + | |Description=<nowiki>Return all elements that does not exist in the other collection.</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=object|Name=FirstOrDefault|Parameters= | + | {{CGscriptMethods_Template|ReturnType=object|Name=<nowiki>First</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=Function|Name=selector|Description=A function to test each element for a condition.}} | + | {{CGscriptParameters_Template|Type=Function|Name=<nowiki>selector</nowiki>|Description=<nowiki>A function to test each element for a condition.</nowiki>}} |
− | |Description=Returns the first element in a sequence that satisfies a specified condition or empty if not found.}} | + | |Description=<nowiki>Returns the first element in a sequence that satisfies a specified condition.</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=int|Name=Frequency|Parameters= | + | {{CGscriptMethods_Template|ReturnType=object|Name=<nowiki>FirstOrDefault</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=number|Name=number|Description=The number to search for}} | + | {{CGscriptParameters_Template|Type=Function|Name=<nowiki>selector</nowiki>|Description=<nowiki>A function to test each element for a condition.</nowiki>}} |
− | |Description=Counts the number of times a given Number object exists in the Array. Can only use if all the elements are of type Number}} | + | |Description=<nowiki>Returns the first element in a sequence that satisfies a specified condition or empty if not found.</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=object|Name=this[] { get; }|Parameters= | + | {{CGscriptMethods_Template|ReturnType=int|Name=<nowiki>Frequency</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=int|Name=index|Description=Index}} | + | {{CGscriptParameters_Template|Type=number|Name=<nowiki>number</nowiki>|Description=<nowiki>The number to search for</nowiki>}} |
− | |Description=Get element at index}} | + | |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=bool|Name=IsCharacterArray|Description=check if array is an array of characters}} | + | {{CGscriptMethods_Template|ReturnType=object|Name=<nowiki>this[] { get; }</nowiki>|Parameters= |
− | {{CGscriptMethods_Template|ReturnType=bool|Name=IsNumericArray|Description=check if array is an array of integer numbers}} | + | {{CGscriptParameters_Template|Type=int|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=bool|Name=IsStringArray|Description=check if array is an array of string}} | + | |Description=<nowiki>Get element at index</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=array|Name=OrderBy|Parameters= | + | {{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>IsCharacterArray</nowiki>|Description=<nowiki>check if array is an array of characters</nowiki>}} |
− | {{CGscriptParameters_Template|Type=Function|Name=comparer|Description=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.}} | + | {{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>IsNumericArray</nowiki>|Description=<nowiki>check if array is an array of integer numbers</nowiki>}} |
− | |Description=Sorts the elements of a sequence in ascending order by using a specified comparer.}} | + | {{CGscriptMethods_Template|ReturnType=bool|Name=<nowiki>IsStringArray</nowiki>|Description=<nowiki>check if array is an array of string</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=Empty|Name=Randomize|Description=Randomize the order of the elements in the current array.}} | + | {{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>OrderBy</nowiki>|Parameters= |
− | {{CGscriptMethods_Template|ReturnType=Empty|Name=RemoveItemAt|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>}} |
− | {{CGscriptParameters_Template|Type=int|Name=index|Description=The index to remove the object from}} | + | |Description=<nowiki>Sorts the elements of a sequence in ascending order by using a specified comparer.</nowiki>}} |
− | |Description=Remove an element from the Array}} | + | {{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Randomize</nowiki>|Description=<nowiki>Randomize the order of the elements in the current array.</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=array|Name=Select|Parameters= | + | {{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>RemoveItemAt</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=Function|Name=selector|Description=A transform function to apply to each element.}} | + | {{CGscriptParameters_Template|Type=int|Name=<nowiki>index</nowiki>|Description=<nowiki>The index to remove the object from</nowiki>}} |
− | |Description=Projects each element of a sequence into a new form.}} | + | |Description=<nowiki>Remove an element from the Array</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=Empty|Name=this[] { set; }|Parameters= | + | {{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>Select</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=int|Name=index|Description=Index|Comma=,}}{{CGscriptParameters_Template|Type=object|Name=value|Description=Value to set}} | + | {{CGscriptParameters_Template|Type=Function|Name=<nowiki>selector</nowiki>|Description=<nowiki>A transform function to apply to each element.</nowiki>}} |
− | |Description=Set element value at index}} | + | |Description=<nowiki>Projects each element of a sequence into a new form.</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=array|Name=Skip|Parameters= | + | {{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>this[] { set; }</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=int|Name=n|Description=How many elements to skip}} | + | {{CGscriptParameters_Template|Type=int|Name=<nowiki>index</nowiki>|Description=<nowiki>Index</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=object|Name=<nowiki>value</nowiki>|Description=<nowiki>Value to set</nowiki>}} |
− | |Description=Get all but the n first elements.}} | + | |Description=<nowiki>Set element value at index</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=array|Name=Take|Parameters= | + | {{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>Skip</nowiki>|Parameters= |
− | {{CGscriptParameters_Template|Type=int|Name=n|Description=How many elements to take}} | + | {{CGscriptParameters_Template|Type=int|Name=<nowiki>n</nowiki>|Description=<nowiki>How many elements to skip</nowiki>}} |
− | |Description=Get the n first elements.}} | + | |Description=<nowiki>Get all but the n first elements.</nowiki>}} |
− | {{CGscriptMethods_Template|ReturnType=string|Name=ToString|Description=The string representation of the object.}} | + | {{CGscriptMethods_Template|ReturnType=array|Name=<nowiki>Take</nowiki>|Parameters= |
− | {{CGscriptMethods_Template|ReturnType=array|Name=Where|Parameters= | + | {{CGscriptParameters_Template|Type=int|Name=<nowiki>n</nowiki>|Description=<nowiki>How many elements to take</nowiki>}} |
− | {{CGscriptParameters_Template|Type=Function|Name=predicate|Description=A function that takes 1 parameter of the types in the array and return true/false}} | + | |Description=<nowiki>Get the n first elements.</nowiki>}} |
− | |Description=Filters a sequence of values based on a predicate.}} | + | {{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= | |Properties= | ||
− | {{CGscriptProperties_Template|ReturnType=number|Name=Average|HasGetter=1|Description=Average of the objects in the Array object. Can only use if all the elements are of type Number}} | + | {{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=int|Name=Count|HasGetter=1|Description=Number of elements in Array}} | + | {{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Count</nowiki>|HasGetter=1|Description=<nowiki>Number of elements in Array</nowiki>}} |
− | {{CGscriptProperties_Template|ReturnType=number|Name=Max|HasGetter=1|Description=Largest of all the objects in the Array object. Can only use if all the elements are of type Number}} | + | {{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=Min|HasGetter=1|Description=Smallest of all the objects in the Array object. Can only use if all the elements are of type Number}} | + | {{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=ObjectTypeName|HasGetter=1|Description=The name of the type of object.}} | + | {{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=Sum|HasGetter=1|Description=Sum of all the objects in the Array object. Can only use if all the elements are of type Number}} | + | {{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=TypeInformation|HasGetter=1|Description=Get information about this class.}} | + | {{CGscriptProperties_Template|ReturnType=TypeInformation|Name=<nowiki>TypeInformation</nowiki>|HasGetter=1|Description=<nowiki>Get information about this class.</nowiki>}} |
}} | }} | ||
+ | |||
Revision as of 05:07, 20 July 2017
Array
The array object
Constructors
- () - Creates an empty array
- (array toCopy "Array to copy") - Creates a copy of another array
- (int count "Number of items to put in the array") - Creates an array with a predefined size, where all elements are Empty
Methods
- Empty Add(object element "element to add") - Add a new element to the Array
- bool Contains(object element "Element to check for") - Return true if the array contains the element using the normal equal operator.
- array Except(array elements "Elements to remove") - Return all elements that does not exist in the other collection.
- object First(Function selector "A function to test each element for a condition.") - Returns the first element in a sequence that satisfies a specified condition.
- object 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.
- int 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
- object this[] { get; }(int 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 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 Randomize() - Randomize the order of the elements in the current array.
- Empty RemoveItemAt(int 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; }(int index "Index", object value "Value to set") - Set element value at index
- array Skip(int n "How many elements to skip") - Get all but the n first elements.
- array Take(int n "How many elements to take") - Get the n first elements.
- 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
- int 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
array a = {1,2,3,4,5,6,7,8};
a.Randomize();
print(a); // {1,5,2,8,7,6,4,3}