Toggle menu
876
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
Nguyenduyan (talk | contribs)
No edit summary
Nguyenduyan (talk | contribs)
No edit summary
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 04: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}