assocs.extras: adding assoc-invert.
parent
98394cf35e
commit
bbb00b4542
|
|
@ -13,3 +13,5 @@ IN: assocs.extras
|
||||||
{ { { 1 3 } { 2 4 } } } [ { 1 2 } { 3 4 } { } zip-as ] unit-test
|
{ { { 1 3 } { 2 4 } } } [ { 1 2 } { 3 4 } { } zip-as ] unit-test
|
||||||
{ V{ { 1 3 } { 2 4 } } } [ { 1 2 } { 3 4 } V{ } zip-as ] unit-test
|
{ V{ { 1 3 } { 2 4 } } } [ { 1 2 } { 3 4 } V{ } zip-as ] unit-test
|
||||||
{ H{ { 1 3 } { 2 4 } } } [ { 1 2 } { 3 4 } H{ } zip-as ] unit-test
|
{ 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
|
||||||
|
|
|
||||||
|
|
@ -39,3 +39,9 @@ IN: assocs.extras
|
||||||
|
|
||||||
: if-assoc-empty ( ..a assoc quot1: ( ..a -- ..b ) quot2: ( ..a assoc -- ..b ) -- ..b )
|
: if-assoc-empty ( ..a assoc quot1: ( ..a -- ..b ) quot2: ( ..a assoc -- ..b ) -- ..b )
|
||||||
[ dup assoc-empty? ] [ [ drop ] prepose ] [ ] tri* if ; inline
|
[ dup assoc-empty? ] [ [ drop ] prepose ] [ ] tri* if ; inline
|
||||||
|
|
||||||
|
: assoc-invert-as ( assoc exemplar -- newassoc )
|
||||||
|
[ swap ] swap assoc-map-as ;
|
||||||
|
|
||||||
|
: assoc-invert ( assoc -- newassoc )
|
||||||
|
dup assoc-invert-as ;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue