11.61 valueat()

Diese Funktion liefert den indizierten Wert einer Sammlung an der angegebenen Position zurück. Die erlaubten Positionen gehen von 1 … itemcount() und ermöglichen somit einen Schleifendurchgang durch alle indizierten Werte ohne den tatsächlichen Index zu kennen.

Die Funktion gibt einen Fehler (fail) zurück falls die Position außerhalb des erlaubten Bereichs liegt oder es sich beim Value-Parameter nicht um eine Sammlung handelt.

Definition

anyvalue valueat
(
  anyvalue Value input,
  integer  Pos   input
)

Parameter

anyvalue Value input
In diesem Parameter wird die Werteliste angegeben, von welcher der indizierte Wert ermittelt werden soll.
integer Pos input
Position, für welche der indizierte Wert ermittelt werden soll.

Rückgabewert

Wert, der sich in der Sammlung an der als Parameter übergebenen Position befindet.

Beispiel

dialog D

on dialog start
{
  variable matrix Matrix := [
    [0,0] => "-?-",
    [1,1] => "germany",
    [1,2] => "berlin",
    [2,1] => "france" ];
  variable integer Pos;

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

Siehe auch

Eingebaute Funktionen indexat(), values()

Methode :index()

C-Funktionen DM_ValueGet, DM_ValueIndex