length - returns the length of a value
val.length()
oadl::length(
val)
The length()
method returns the length of a
given val. The length is defined in varous ways depending on
the type of val:
Type | length() |
---|---|
Array[*] |
The size of the first axis of the array |
Dict |
The number of assigned elements of the Dict |
Object |
The number of public elements of the Object |
Proc |
The length of the bytecode of the Proc (if
defined with the "[]" attribute) |
The length()
is an intuitive quey for
single-dimensional arrays (such as String
s and
WideString
s); however, it can also be useful for
multi-dimensional arrays.
Note that classes may overload the length()
method. It is generally therefore safer to use the
oadl::length()
intrinsic call for objects.
An Int
which is the length of the given
val
TypeCheck
if val is not an array,
Dict
, Object
, or
Proc
.
AccessCheck
if
val is a Proc
not defined with the
"[]" attribute
ArgCheck
if any
arguments are passed
"Hello".length() 5 a = [2,3].iterate() a.length() 2 for (var i = 0; i < a.length(); i++) { "Row ", i, ": ", a[i], '\n'; } Row 0: 0 1 2 Row 1: 3 4 5 nil.length() Illegal type d = new Dict(4) d.length() 0 d["one"] = 1 d.length() 1 proc "[]" foo() { "Hello, foo!\n"; } proc bar() {"Hello, bar!\n"; } foo.length() 27 bar.length() Access failure class ack { public var a, b; var c; } ack.length() 3 forall (ack.(pub)) { "", pub, '\n'; } parent a b