awk tömb

egy olyan kérdésem lenne, hogy lehetséges e awk-ban egy asszociatív tömb eleme egy másik asszociatív tömb?
Nekem ezt dobja :(
awk: (FILENAME=- FNR=1) fatal: attempt to use array `alma' in a scalar context

Hozzászólások

Jól dobja, mert nem lehet.

Emulálhatod azzal, hogy jól megválasztott kulcs-érték- és elemhatárolóval konkatenálod az indexként használandó tömböt (ez egy függvény), és amikor a kulcsot használnád vmire, akkor szétbontod (ez egy másik függvény).
De ezzel az egésszel baromira kell vigyázni, mert az asszoc tömb elemei nem rendezettek, tehát a bejárás-konkatenálás két ugyanolyan tartalmú tömb esetén szemrebbenés nélkül adhat más-más sztringet, ami indexként felhasználáskor egy átok.

Ez nem lehetséges. Nem inkább több dimenziós tömböt akarnál csinálni?

egészen sok mindent fel lehet venni tömbelemként (alapvető közelítésben sztringet és számot), de másik tömb új elemként való felvétele az fatal errort eredményez:


    case Node_var_array:
        fatal(_("attempt to use array `%s' in a scalar context"),
            ptr->vname);