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.

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

GESCHICHTE
        Eingefuehrt in 3.2.1@8.

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