HELP: zip
{ $values
{ "keys" sequence } { "values" sequence }
- { "alist" "an array of key/value pairs" } }
+ { "assoc" assoc } }
{ $description "Combines two sequences pairwise into a single sequence of key/value pairs." }
{ $examples
{ $example "USING: prettyprint assocs ;"
HELP: zip-index
{ $values
{ "values" sequence }
- { "alist" "an array of key/value pairs" }
+ { "assoc" assoc }
}
{ $examples
"Zip a sequnce with its indices:"
HELP: zip-index-as
{ $values
{ "values" sequence } { "exemplar" sequence }
- { "obj" "an array of key/value pairs" }
+ { "assoc" assoc }
}
{ $examples
"Zip a sequnce with its indices as a vector:"
[ [ set-at ] with-assoc 2each ] keep
] if ; inline
- : zip ( keys values -- alist )
+ : zip ( keys values -- assoc )
over zip-as ; inline
: map-index-as ( ... seq quot: ( ... elt index -- ... newelt ) exemplar -- ... obj )
: map-index ( ... seq quot: ( ... elt index -- ... newelt ) -- ... newseq )
over map-index-as ; inline
-: zip-index-as ( values exemplar -- obj )
+: zip-index-as ( values exemplar -- assoc )
[ [ 2array ] ] dip map-index-as ; inline
-: zip-index ( values -- alist )
+: zip-index ( values -- assoc )
dup zip-index-as ; inline
: unzip ( assoc -- keys values )