
Problem s vytvorenim seznamu v Bash/Shell
Dobry den, snazim se vytvorit seznam kde by mel kazdy uzivatel vlastni index 0, 1, 2, 3, 4 atd.. a po zadaní toho indexu a nazvu polozky by se vypsalo vse potrebne, ale porad mi to nejak nejde a tak chci pozadat zde zkusenych programatoru o pomoc. Zkousel jsem to takto, hledal jsem na netu ale konkretni reseni jsem nenasel. Dekuji predem za pomoc.
declare -A mylist
mylist=("jmeno" "prijmeni" "adresa")
mylist[0]['jmeno']="petr"
mylist[0]['prijmeni']="sulc"
mylist[0]['adresa']="ostrava 33"
echo ${mylist[0]['jmeno']} # petr
echo ${mylist[0]['prijmeni']} # sulc
echo ${mylist[0]['adresa']} # ostrava 33
Ak správne rozumiem, tak chceš vnorené polia - indexované pole, ktorého elementy sú tvorené asociatívnymi poliami. Pokiaľ viem, tak toto bash neumožňuje (skúsenejší bashisti ma môžu opraviť).
Môžeš ale použiť jednoduché asociatívne pole, pričom kľúče budú zložené z indexov vnorených polí:
Dobry den, moc dekuji, to vypada dobre, a pokud budu mit neco takoveho,
pujde takove pole seradit treba podle veku ?
Ak ti stačí len zoznam usporiadaných hodnôt veku, tak asi takto:
Ak potrebuješ pristupovať k "celým objektom" (napr. usporiadať podľa veku a zobraziť meno), tak bude asi jednoduchšie použiť indexované pole, kde každá položka bude reťazec typu "jmeno|prijmeni|vek". Takéto reťazce môžeš potom usporiadavať typicky tak, že pred celý reťazec dáš podreťazec, podľa ktorého chceš usporiadavať, následne to usporiadaš a odstrániš ten reťazec.
Asi najjednoduchšie je napísať to v JavaScripte a spúšťať v nodejs.
Staci mi to seradit jen podle veku ale potreboval bych to seradit primo v tom seznamu, ne jen pri vypise.
Jestli jsem to pochopil, tak tohle potřebuji, ale moc tomu nerozumim. Muzete mi to prosim jeste upresnit ?
Pobezi to pouze na serveru bez GUI, tak proto ten bash ;)
Dekuji
NodeJS je tiež command line bez GUI. Na rozdiel od bashu v ňom ale používaš jazyk, ktorý je určený na programovanie a nie na patlanie administrátorských skriptov. Nemusíš v ňom rozmýšľať, ako obísť niektoré obmedzenia jazyka.
Tak jsem zjistil, že je to celý nepoužitelný, jelikož to pole je přístupné jenom ve funkci ve které je deklarované, v jiné funkci je nedostupné
Díky za pomoc ale musím najít jiné řešení..