blob: 84ef00713dfa7d4c21907dfa2a68c0dab88010f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
use MONKEY;
my %a;
my %b;
#%a<Z> = "orig";
#%b<Z> = "new";
%a<b> = 1;
%b<a> = 2;
%a<y><z> = 2;
%b<y><a> = 1;
%a.merge(%b).say;
say %b;
augment class Hash {
method merge (%b) {
hashmerge self, %b;
self;
}
sub hashmerge (%merge-source, %merge-into) {
for %merge-source.keys {
if %merge-into{$_}:exists {
hashmerge %merge-source{$_}, %merge-into{$_};
}
else {
%merge-into{$_} = %merge-source{$_};
}
}
%merge-into;
}
}
|