Creating an Array: Difference between revisions
Line 106: | Line 106: | ||
# You can also create a sequential array from a range using the 'splat' operator: |
# You can also create a sequential array from a range using the 'splat' operator: |
||
array = [*0..3] |
array = [*0..3] |
||
# or use the .to_a method for Ranges |
|||
array = (0..3).to_a |
|||
#=> [0,1,2,3] |
#=> [0,1,2,3] |
||
Line 111: | Line 113: | ||
# This lets us create the above programmatically: |
# This lets us create the above programmatically: |
||
array = [*0..3].map {|i| [i] * 6} |
array = [*0..3].map {|i| [i] * 6} |
||
# or use the .map (.collect which is the same) method for Ranges directly |
|||
# note also that arrays of length 6 with a default element are created using Array.new |
|||
array = (0..3).map {|i| Array.new(6,i)} |
|||
#=> [[0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3]] |
#=> [[0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3]] |
Revision as of 19:41, 22 January 2007
You are encouraged to solve this task according to the task description, using any language you may know.
In this task, the goal is to create an array.
mIRC
Interpeter: mIRC Script Editor Libraries: mArray Snippet
alias creatmearray { .echo -a $array_create(MyArray, 5, 10) }
Visual Basic 2005.Net
Dim myArray as new ArrayList Dim myArray2 as new ArrayList = { "Item1", "Item2" }
Quick Basic
Interpeter: QB 4.5 or PB 7.1 Libraries: None are needed
' $DYNAMIC DIM SHARED myArray(-10 TO 10, 10 TO 30) AS STRING REDIM SHARED myArray(20, 20) AS STRING myArray(1,1) = "Item1" myArray(1,2) = "Item2"
Javascript
var myArray = new Array(); var myArray2 = new Array("Item1","Item2"); var myArray3 = ["Item1", "Item2"];
3DS Max 8 - MaxScript
myArray = #() myArray2 = #("Item1", "Item2")
Python
Interpeter: Python 2.3, 2.4, 2.5 Libraries: None are needed
Array=[ [0,0,0,0,0,0], [1,1,1,1,1,1], [2,2,2,2,2,2], [3,3,3,3,3,3] ] #You would call the array by this code. This will call the 3rd 1 on the second list Array[1][3]}
Alternatively you can create it programmatically with a list comprehension:
Array = [ [i]*6 for i in range(4) ]
Create an empty array:
Array = []
Perl
Interpeter: Perl Libraries: None are needed
use vars qw{ @Array };
@Array=( [0,0,0,0,0,0], [1,1,1,1,1,1], [2,2,2,2,2,2], [3,3,3,3,3,3] ); #You would call the array by this code. This will call the 3rd 1 on the second list print $Array[1][3];
# Alternative: my @array_using_qw = qw/coffee sugar cream/;
# Alternative: my @Array3 = (); push @Array3, "Item1"; push @Array3, "Item2"; $Array3[2] = "Item3"; $Array3[3][0] = "Item4";
@Array = ('This', 'That', 'And', 'The', 'Other');
$ArrayRef = ['This', 'That', 'And', 'The', 'Other']; print $ArrayRef->[2]; # would print "And"
PHP
$array = array( array(0, 0, 0, 0, 0, 0), array(1, 1, 1, 1, 1, 1), array(2, 2, 2, 2, 2, 2), array(3, 3, 3, 3, 3, 3) ); #You would call the array by this code. This will call the 3rd 1 on the second list echo $array[1][3];
Ruby
array = [ [0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3] ] # You would call the array by this code. This will call the 3rd 1 on the second list array[1][3]
# You can also create a sequential array from a range using the 'splat' operator: array = [*0..3] # or use the .to_a method for Ranges array = (0..3).to_a #=> [0,1,2,3] # This lets us create the above programmatically: array = [*0..3].map {|i| [i] * 6} # or use the .map (.collect which is the same) method for Ranges directly # note also that arrays of length 6 with a default element are created using Array.new array = (0..3).map {|i| Array.new(6,i)} #=> [[0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3]]
Ada
Compiler: GCC 4.1.2
type Arr is array (Positive range <>) of Integer; Uninitialized : Arr (1 .. 10); Initialized_1 : Arr (1 .. 20) := (others => 1); Initialized_2 : Arr := (1 .. 30 => 2); Const : constant Arr := (1 .. 10 => 1, 11 .. 20 => 2, 21 | 22 => 3);
OCaml
let nbItems = 5 and initialValue = 0 in make_vect nbItems initialValue
Java
For example for an array of 10 int values:
int[] intArray = new int[10];
Creating an array of Strings:
String[] s = {"hello" , "World" };
C
Compiler: GCC, MSVC, BCC, Watcom
Libraries: None are needed
// Dynamic int n = 10 * sizeof(int); int *myArray = (int*)malloc(n); if(myArray != NULL) { memset(myArray, 0, n); myArray[0] = 1; myArray[1] = 2; free(myArray); myArray = NULL; }
Libraries: None are needed
// Static int myArray2[10] = { 1, 2, 0}; /* 3..9 := 0 */
C++
Compiler: GCC, MSVC, BCC, Watcom
Libraries: None are needed
// Dynamic const int n = 10; int* myArray = new int[n]; if(myArray != NULL) { myArray[0] = 1; myArray[1] = 2; delete[] myArray; myArray = NULL; }
Libraries: None are needed
// Static int myArray2[10] = { 1, 2, 0}; /* 3..9 := 0 */
Libraries: STL
// STL std::vector<int> myArray3(10); myArray3.push_back(1); myArray3.push_back(2);
Libraries: Qt
// Qt QVector<int> myArray4(10); myArray4.push_back(1); myArray4.push_back(2);
Libraries: MFC
// MFC CArray<int,int> myArray5(10); myArray5.Add(1); myArray5.Add(2);
C#
Example of array of 10 int types:
int[] numbers = new int[10];
Example of array of 3 string types:
string[] words = { "these", "are", "arrays" };
You can also declare the size of the array and initialize the values at the same time:
int[] more_numbers = new int[3]{ 21, 14 ,63 };
For Multi-Deminsional arrays you delcare them the same except for a comma in the type declaration.
The following creates a 3x2 int matrix
int[,] number_matrix = new int[3][2];
As with the previous examples you can also initialize the values of the array, the only difference being each row in the matrix must be enclosed in its own braces.
string[,] string_matrix = { {"I","swam"}, {"in","the"}, {"freezing","water"} };
or
string[,] funny_matrix = new string[2][2]{ {"clowns", "are"} , {"not", "funny"} };