Set bei Funktionen

Set kommt bei Funktionen sich mit der Zuweisung in die Quere, wenn die Funktion eine Referenz zurückliefert.

func(a is int) as int ref :=
{
  static array is int[10];
  
  return array[a];
}

func(0) : 4;

Wenn eine Referenz zurückgeliefert wird, wird automatisch ein Setter angelegt:

func(a is int) as int ref :=
{
  get:
  {
    static array is int[10];
  
    return array[a];
  }
  set:
  {
    get(a) = value;
  }
}

Dieser kann nun verändert werden, aber so entspricht func(a) = 1 per default func.get(a) = 1;