11.23 itemcount()

Diese Funktion liefert die Anzahl von indizierten Werten in einer Sammlung zurück. Ausgenommen von der Anzahl sind der/die Standardwert(e). Zusammen mit indexat() und valueat() lassen sich somit einfach Schleifen durch beliebige Sammlungen realisieren.

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

integer itemcount
(
  anyvalue Value input
)

Parameter

anyvalue Value input
In diesem Parameter wird der Wert angegeben für den die Anzahl ermittelt werden soll.

Rückgabewert

0
Der übergebene Wert ist skalar oder eine leere Sammlung.
1 … 231
Anzahl der Werte in der Sammlung ohne Standardwerte.

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 I;
  variable anyvalue Idx;

  /* print the Matrix values [1,1] [1,2] ... [2,2] */
  for I:=1 to itemcount(Matrix) do
    Idx := indexat(Matrix, I);
    print sprintf("%s : %s", Idx, Matrix[Idx]);
  endfor
  exit();
}

Ausgabe

"[1,1] : germany"
"[1,2] : berlin"
"[2,1] : france"
"[2,2] : -?-"

Siehe auch

Eingebaute Funktionen countof(), indexat(), valueat()

Methode :index()

Attribut .itemcount

C-Funktion DM_ValueCount