assocs.extras: adding assoc-merge.
parent
71a7f0e4ad
commit
ed73d4c63a
|
@ -15,3 +15,10 @@ IN: assocs.extras
|
|||
{ H{ { 1 3 } { 2 4 } } } [ { 1 2 } { 3 4 } H{ } zip-as ] unit-test
|
||||
|
||||
{ H{ { 2 1 } { 4 3 } } } [ H{ { 1 2 } { 3 4 } } assoc-invert ] unit-test
|
||||
|
||||
[ H{ } ] [ { } assoc-merge ] unit-test
|
||||
[ H{ { "a" V{ 2 5 } } { "b" V{ 3 } } { "c" V{ 10 } } } ]
|
||||
[
|
||||
{ H{ { "a" 2 } { "b" 3 } } H{ { "a" 5 } { "c" 10 } } }
|
||||
assoc-merge
|
||||
] unit-test
|
||||
|
|
|
@ -43,3 +43,9 @@ IN: assocs.extras
|
|||
|
||||
: assoc-invert ( assoc -- newassoc )
|
||||
dup assoc-invert-as ;
|
||||
|
||||
: (assoc-merge) ( assoc1 assoc2 -- assoc1 )
|
||||
over [ push-at ] with-assoc assoc-each ;
|
||||
|
||||
: assoc-merge ( seq -- merge )
|
||||
H{ } clone [ (assoc-merge) ] reduce ;
|
||||
|
|
Loading…
Reference in New Issue