sequences.zipped: adding zip virtual sequence.
parent
5903b2ccf5
commit
7aeae251bc
|
@ -0,0 +1 @@
|
||||||
|
John Benediktsson
|
|
@ -0,0 +1 @@
|
||||||
|
Virtual "zip" sequences
|
|
@ -0,0 +1,7 @@
|
||||||
|
! Copyright (C) 2012 John Benediktsson
|
||||||
|
! See http://factorcode.org/license.txt for BSD license
|
||||||
|
USING: arrays tools.test ;
|
||||||
|
IN: sequences.zipped
|
||||||
|
|
||||||
|
{ { { 1 4 } { 2 5 } { 3 6 } } }
|
||||||
|
[ { 1 2 3 } { 4 5 6 } <zipped> >array ] unit-test
|
|
@ -0,0 +1,19 @@
|
||||||
|
! Copyright (C) 2012 John Benediktsson
|
||||||
|
! See http://factorcode.org/license.txt for BSD license
|
||||||
|
USING: accessors arrays kernel math sequences
|
||||||
|
sequences.private ;
|
||||||
|
IN: sequences.zipped
|
||||||
|
|
||||||
|
TUPLE: zipped
|
||||||
|
{ keys sequence read-only }
|
||||||
|
{ values sequence read-only } ;
|
||||||
|
|
||||||
|
C: <zipped> zipped
|
||||||
|
|
||||||
|
M: zipped length
|
||||||
|
[ keys>> ] [ values>> ] bi min-length ;
|
||||||
|
|
||||||
|
M: zipped nth-unsafe
|
||||||
|
[ keys>> nth-unsafe ] [ values>> nth-unsafe ] 2bi 2array ;
|
||||||
|
|
||||||
|
INSTANCE: zipped immutable-sequence
|
Loading…
Reference in New Issue