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
No edit summary
Nguyenduyan (talk | contribs)
No edit summary
Line 8: Line 8:
|Description=Creates a copy of another array}}
|Description=Creates a copy of another array}}
{{CGscriptConstructors_Template|Parameters=
{{CGscriptConstructors_Template|Parameters=
{{CGscriptParameters_Template|Type=number|Name=count|Description=Number of items to put in the array}}
{{CGscriptParameters_Template|Type=int|Name=count|Description=Number of items to put in the array}}
|Description=Creates an array with a predefined size, where all elements are Empty}}
|Description=Creates an array with a predefined size, where all elements are Empty}}
|Methods=
|Methods=
{{CGscriptMethods_Template|ReturnType=Empty|Name=Add|Parameters=
{{CGscriptMethods_Template|ReturnType=Empty|Name=Add|Parameters=
{{CGscriptParameters_Template|Type=AnyType|Name=element|Description=element to add}}
{{CGscriptParameters_Template|Type=object|Name=element|Description=element to add}}
|Description=Add a new element to the Array}}
|Description=Add a new element to the Array}}
{{CGscriptMethods_Template|ReturnType=AnyType|Name=First|Parameters=
{{CGscriptMethods_Template|ReturnType=bool|Name=Contains|Parameters=
{{CGscriptParameters_Template|Type=object|Name=element|Description=Element to check for}}
|Description=Return true if the array contains the element using the normal equal operator.}}
{{CGscriptMethods_Template|ReturnType=object|Name=First|Parameters=
{{CGscriptParameters_Template|Type=Function|Name=selector|Description=A function to test each element for a condition.}}
{{CGscriptParameters_Template|Type=Function|Name=selector|Description=A function to test each element for a condition.}}
|Description=Returns the first element in a sequence that satisfies a specified condition.}}
|Description=Returns the first element in a sequence that satisfies a specified condition.}}
{{CGscriptMethods_Template|ReturnType=AnyType|Name=FirstOrDefault|Parameters=
{{CGscriptMethods_Template|ReturnType=object|Name=FirstOrDefault|Parameters=
{{CGscriptParameters_Template|Type=Function|Name=selector|Description=A function to test each element for a condition.}}
{{CGscriptParameters_Template|Type=Function|Name=selector|Description=A function to test each element for a condition.}}
|Description=Returns the first element in a sequence that satisfies a specified condition or empty if not found.}}
|Description=Returns the first element in a sequence that satisfies a specified condition or empty if not found.}}
{{CGscriptMethods_Template|ReturnType=number|Name=Frequency|Parameters=
{{CGscriptMethods_Template|ReturnType=int|Name=Frequency|Parameters=
{{CGscriptParameters_Template|Type=number|Name=number|Description=The number to search for}}
{{CGscriptParameters_Template|Type=number|Name=number|Description=The number to search for}}
|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=Counts the number of times a given Number object exists in the Array. Can only use if all the elements are of type Number}}
{{CGscriptMethods_Template|ReturnType=AnyType|Name=this[] { get; }|Parameters=
{{CGscriptMethods_Template|ReturnType=object|Name=this[] { get; }|Parameters=
{{CGscriptParameters_Template|Type=number|Name=index|Description=Index}}
{{CGscriptParameters_Template|Type=int|Name=index|Description=Index}}
|Description=Get element at index}}
|Description=Get element at index}}
{{CGscriptMethods_Template|ReturnType=bool|Name=IsCharacterArray|Description=check if array is an array of characters}}
{{CGscriptMethods_Template|ReturnType=bool|Name=IsCharacterArray|Description=check if array is an array of characters}}
{{CGscriptMethods_Template|ReturnType=bool|Name=IsNumericArray|Description=check if array is an array of numbers}}
{{CGscriptMethods_Template|ReturnType=bool|Name=IsNumericArray|Description=check if array is an array of integer numbers}}
{{CGscriptMethods_Template|ReturnType=bool|Name=IsNumericArray|Description=check if array is an array of integer numbers}}
{{CGscriptMethods_Template|ReturnType=bool|Name=IsStringArray|Description=check if array is an array of string}}
{{CGscriptMethods_Template|ReturnType=bool|Name=IsStringArray|Description=check if array is an array of string}}
Line 33: Line 35:
{{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.}}
{{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.}}
|Description=Sorts the elements of a sequence in ascending order by using a specified comparer.}}
|Description=Sorts the elements of a sequence in ascending order by using a specified comparer.}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=Randomize|Description=Randomize the order of the elements in the current array.}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=RemoveItemAt|Parameters=
{{CGscriptMethods_Template|ReturnType=Empty|Name=RemoveItemAt|Parameters=
{{CGscriptParameters_Template|Type=number|Name=index|Description=The index to remove the object from}}
{{CGscriptParameters_Template|Type=int|Name=index|Description=The index to remove the object from}}
|Description=Remove an element from the Array}}
|Description=Remove an element from the Array}}
{{CGscriptMethods_Template|ReturnType=array|Name=Select|Parameters=
{{CGscriptMethods_Template|ReturnType=array|Name=Select|Parameters=
Line 40: Line 43:
|Description=Projects each element of a sequence into a new form.}}
|Description=Projects each element of a sequence into a new form.}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=this[] { set; }|Parameters=
{{CGscriptMethods_Template|ReturnType=Empty|Name=this[] { set; }|Parameters=
{{CGscriptParameters_Template|Type=number|Name=index|Description=Index|Comma=,}}{{CGscriptParameters_Template|Type=AnyType|Name=value|Description=Value to set}}
{{CGscriptParameters_Template|Type=int|Name=index|Description=Index|Comma=,}}{{CGscriptParameters_Template|Type=object|Name=value|Description=Value to set}}
|Description=Set element value at index}}
|Description=Set element value at index}}
{{CGscriptMethods_Template|ReturnType=array|Name=Skip|Parameters=
{{CGscriptMethods_Template|ReturnType=array|Name=Skip|Parameters=
{{CGscriptParameters_Template|Type=number|Name=n|Description=How many elements to skip}}
{{CGscriptParameters_Template|Type=int|Name=n|Description=How many elements to skip}}
|Description=Get all but the n first elements.}}
|Description=Get all but the n first elements.}}
{{CGscriptMethods_Template|ReturnType=array|Name=Take|Parameters=
{{CGscriptMethods_Template|ReturnType=array|Name=Take|Parameters=
{{CGscriptParameters_Template|Type=number|Name=n|Description=How many elements to take}}
{{CGscriptParameters_Template|Type=int|Name=n|Description=How many elements to take}}
|Description=Get the n first elements.}}
|Description=Get the n first elements.}}
{{CGscriptMethods_Template|ReturnType=string|Name=ToString|Description=The string representation of the object.}}
{{CGscriptMethods_Template|ReturnType=string|Name=ToString|Description=The string representation of the object.}}
Line 52: Line 55:
{{CGscriptParameters_Template|Type=Function|Name=predicate|Description=A function that takes 1 parameter of the types in the array and return true/false}}
{{CGscriptParameters_Template|Type=Function|Name=predicate|Description=A function that takes 1 parameter of the types in the array and return true/false}}
|Description=Filters a sequence of values based on a predicate.}}
|Description=Filters a sequence of values based on a predicate.}}
{{CGscriptMethods_Template|ReturnType=array|Name=Randomize|Description=Random shuffling of an array}}
|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=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=Count|HasGetter=1|Description=Number of elements in Array}}
{{CGscriptProperties_Template|ReturnType=int|Name=Count|HasGetter=1|Description=Number of elements in Array}}
{{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=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=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=Min|HasGetter=1|Description=Smallest of all the objects in the Array object. Can only use if all the elements are of type Number}}
Line 63: Line 64:
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=TypeInformation|HasGetter=1|Description=Get information about this class.}}
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=TypeInformation|HasGetter=1|Description=Get information about this class.}}
}}
}}


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

Revision as of 06:44, 2 March 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.
  • 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}