hashek különbsége

hashek különbsége

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)

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...

[quote:98166e4667="foci"]%ujhash = %nagy
aztan a kis hash minden elemet kiveszed az ujbol..

Ezt hogyan is?

koszi a valaszt

[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]

Es akkor helyesen:
[code:1:35993047b5]%kulonbseg = map {exists($kicsi{$_})?():($_=>$nagy{$_})} (keys %nagy);
[/code:1:35993047b5]

igen, igy a jo

a keys $ -ra figyelmeztett is, de igy tokeletes.

koszonom