Array length: Difference between revisions

From Rosetta Code
Content added Content deleted
m (Category:Simple)
Line 13: Line 13:
=={{header|AWK}}==
=={{header|AWK}}==
<!-- http://ideone.com/qhJQ6g -->
<!-- http://ideone.com/qhJQ6g -->

The main use of the length()-function is to determine the length of a string. <br>
When used on an array, it returns the number of elements. <br>
Another method to count the elements of the array is by using a variant of for().


<lang awk># usage: awk -f arraylen.awk
<lang awk># usage: awk -f arraylen.awk
Line 22: Line 26:


BEGIN {
BEGIN {
print "# Array length:"

array[1] = "apple"
array[1] = "apple"
array[2] = "orange"
array[2] = "orange"


print length(array), countElements(array)
print "Array length :", length(array), countElements(array)
print "String length:", array[1], length(array[1])
}</lang>
}</lang>


{{out}}
{{out}}
<pre>
<pre>
# Array length:
Array length : 2 2
String length: apple 5
2 2
</pre>
</pre>



Revision as of 23:42, 29 September 2015

Task
Array length
You are encouraged to solve this task according to the task description, using any language you may know.

Determine the amount of elements in an array.
As an example use an array holding the strings 'apple' and 'orange'.

See also

ALGOL 68

<lang algol68># UPB returns the upper bound of an array, LWB the lower bound # []STRING fruits = ( "apple", "orange" ); print( ( ( UPB fruits - LWB fruits ) + 1, newline ) ) # prints 2 #</lang>

AWK

The main use of the length()-function is to determine the length of a string.
When used on an array, it returns the number of elements.
Another method to count the elements of the array is by using a variant of for().

<lang awk># usage: awk -f arraylen.awk

function countElements(array) {

 for( e in array ) {c++}
 return c

}

BEGIN {

 array[1] = "apple"
 array[2] = "orange" 
 print "Array length :", length(array), countElements(array)
 
 print "String length:", array[1], length(array[1])

}</lang>

Output:
Array length : 2 2
String length: apple 5

BASIC

<lang basic>DIM X$(1 TO 2) X$(1) = "apple" X$(2) = "orange" PRINT UBOUND(X$) - LBOUND(X$) + 1</lang>

D

<lang d> import std.stdio;

int main() {

   auto fruit = ["apple", "orange"];
   fruit.length.writeln;
   return 0;

} </lang>

EchoLisp

<lang scheme> (length '("apple" "orange")) ;; list

  → 2

(vector-length #("apple" "orange")) ;; vector

  → 2

</lang>

FurryScript

<lang furryscript>THE_LIST( <apple> <orange> ) COUNT[ 0 SW ~| COUNT_STEP# 0 SW SU ] COUNT_STEP[ DR 1 SU ]

`THE_LIST COUNT# +<></lang>

Haskell

<lang Haskell>-- Char -> Int length ["apple", "orange"]</lang>

Java

<lang java>public class ArrayLength {

   public static void main(String[] args) {
       System.out.println(new String[]{"apple", "orange"}.length);
   }

}</lang>

JavaScript

<lang javascript>console.log(['apple', 'orange'].length);</lang>

ooRexx

<lang oorexx> /* REXX */ a = .array~of('apple','orange') say a~size 'elements' Do e over a

 say e
 End

Say "a[2]="a[2]</lang>

Output:
2 elements
apple
orange
a[2]=orange

Perl 6

<lang perl6>say <apple orange>.elems;</lang>

Output:
2

PHP

<lang php>print count(['apple', 'orange']); // Returns 2</lang>

Python

<lang python>>>> print(len(['apple', 'orange'])) 2 >>> </lang>

Racket

Translation of: EchoLisp

<lang racket>#lang racket/base (length '("apple" "orange")) ;; list (vector-length #("apple" "orange")) ;; vector</lang>

Output:
2
2

REXX

<lang rexx>/* REXX ----------------------------------------------

  • The compond variable a. implements an array
  • By convention, a.0 contains the number of elements
  • ---------------------------------------------------*/

a.=0 /* initialize the "array" */ call store 'apple' Call store 'orange' Say 'There are' a.0 'elements in the array:' Do i=1 To a.0

 Say 'Element' i':' a.i
 End

Exit store: Procedure Expose a. z=a.0+1 a.z=arg(1) a.0=z Return</lang>

Output:
There are 2 elements in the array:
Element 1: apple
Element 2: orange

Ruby

<lang ruby>puts ['apple', 'orange'].length # or .size</lang>

SQL

<lang sql>SELECT COUNT() FROM (VALUES ('apple'),('orange'));</lang>

zkl

zkl doesn't support arrays natively, use lists instead. <lang zkl>List("apple", "orange").len().println() //-->2, == L("apple", "orange") T("apple", "orange").len().println() //-->2, read only list (ROList) </lang>