Difference between revisions of "Array class"

From Catglobe Wiki
Jump to: navigation, search
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 07: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}