Hozzászólások
Sziasztok!
A következő lenne a kérdésem:
Van két hash:
%nagy
%kicsi
a %kicsi minden eleme benne van a %nagy -ban
szeretnék kapni egy harmadik hash-t amelyben azok az elemek vannak amelyek elemei a %nagy -nak de nem elemei a %kicsi -nek
talán érthetőbb bash "nyelven":
cat %nagy | grep -v %kicsi
Mi erre a megoldás?
(Perl 5.8.4)
- A hozzászóláshoz be kell jelentkezni
Szerintem %ujhash = %nagy - %kicsi
Magyaran:
%ujhash = %nagy
aztan a kis hash minden elemet kiveszed az ujbol..
vagy vegigmesz %nagy elemein es amelyik nincs benne %kicsi -ben azt beleteszed %ujhash -be...
- A hozzászóláshoz be kell jelentkezni
[quote:98166e4667="foci"]%ujhash = %nagy
aztan a kis hash minden elemet kiveszed az ujbol..
Ezt hogyan is?
koszi a valaszt
- A hozzászóláshoz be kell jelentkezni
[quote:110ba7dfa7="FoREE"]szeretnék kapni egy harmadik hash-t amelyben azok az elemek vannak amelyek elemei a %nagy -nak de nem elemei a %kicsi -nek
[code:1:110ba7dfa7]
%kulonbseg = map (exists($kicsi{$_})?():($_=>$nagy{$_})), keys $nagy;
[/code:1:110ba7dfa7]
[/code]
- A hozzászóláshoz be kell jelentkezni
Es akkor helyesen:
[code:1:35993047b5]%kulonbseg = map {exists($kicsi{$_})?():($_=>$nagy{$_})} (keys %nagy);
[/code:1:35993047b5]
- A hozzászóláshoz be kell jelentkezni
igen, igy a jo
a keys $ -ra figyelmeztett is, de igy tokeletes.
koszonom
- A hozzászóláshoz be kell jelentkezni