SYNOPSIS
        closure symbol_variable(string arg);
        closure symbol_variable(symbol arg);
        closure symbol_variable(int arg);

BESCHREIBUNG
        Erzeugt eine Identifier (Lfun) Closure aus der globalen Variablen
        <arg> des gueltigen Objekts. Die Variable kann angegeben werden
        als Symbol, mit ihrem Namen oder durch die ordinale Nummer in der
        Variablentabelle des Objekts.

        Wenn keine solche Variable existiert oder sie von aussen nicht
        sichtbar ist, wird 0 zurueck geliefert.

        Wenn <arg> ein Integer ist und sich auf eine geerbte Variable
        bezieht, die im geerbten Objekt "private" deklariert ist (d.h.
        versteckt), fuehrt dies zu einer Schutzverletzung.

AENDERUNGEN
        Eingefuehrt in 3.2.1@8

BEISPIELE
        int base;
        int var;
        symbol_variable("var");         ergibt: #'<this_object>->var
        symbol_variable(0);             ergibt: #'<this_object>->base

SIEHE AUCH
        lambda(E), quote(E), symbol_function(E)
