11.7 countof()

Diese Funktion liefert die Größe einer Sammlung zurück. Dies ist typischerweise der höchste Indexwert.

Typischerweise liefern countof() und itemcount() für Werte des Datentyps refvec, vector und list den gleichen Wert zurück. itemcount() bietet aber die generischere Verwendung, wohingegen countof() sich für die strukturierte, typangepasste Verwendung besser eignet.

Definition

anyvalue countof
(
  anyvalue Value input
)

Parameter

anyvalue Value input
In diesem Parameter wird der Wert angegeben für den der Indizierungstyp, bzw. der höchste Indexwert, ermittelt werden soll.

Rückgabewert

nothing
Der übergebene Wert ist skalar.
1 … 231
Höchster Index der übergebenen Liste (Datentypen list, vector, refvec).
[0 … 65535,0 … 65535]
Höchster Index der übergebenen Matrix.
anyvalue
Datentyp des Index des übergebenen assoziativen Felds (Datentyp hash).

Beispiel

dialog D

on dialog start
{
  variable matrix Matrix := [
    [0,0] => "-?-",
    [1,1] => "germany",
    [1,2] => "berlin",
    [2,1] => "france"
    /* [2,2] => inherited from default [0,0] */ ];
  variable integer Row, Col;
  variable anyvalue Count, Idx;

  /* print the Matrix values [0,0] [0,1] ... [2,2] */
  Count := countof(Matrix);
  for Row:=0 to first(Count) do
    for Col:=0 to second(Count) do
      Idx := [Row,Col];
      print sprintf("%s : %s", Idx, Matrix[Idx]);
    endfor
  endfor
  exit();
}

Siehe auch

Eingebaute Funktionen itemcount(), valueat()

Methode :index()

Attribut .count

C-Funktion DM_ValueCount