named-tuples: make work with bignum indices.
parent
fb382b52c7
commit
a3e1364c4f
|
@ -1,4 +1,4 @@
|
||||||
USING: arrays assocs named-tuples sequences tools.test ;
|
USING: arrays assocs math named-tuples sequences tools.test ;
|
||||||
IN: named-tuples.tests
|
IN: named-tuples.tests
|
||||||
|
|
||||||
TUPLE: foo x y z ;
|
TUPLE: foo x y z ;
|
||||||
|
@ -29,3 +29,7 @@ INSTANCE: foo named-tuple
|
||||||
{ 1 } [ T{ foo f 1 2 3 } "x" of ] unit-test
|
{ 1 } [ T{ foo f 1 2 3 } "x" of ] unit-test
|
||||||
{ 2 } [ T{ foo f 1 2 3 } "y" of ] unit-test
|
{ 2 } [ T{ foo f 1 2 3 } "y" of ] unit-test
|
||||||
{ 3 } [ T{ foo f 1 2 3 } "z" of ] unit-test
|
{ 3 } [ T{ foo f 1 2 3 } "z" of ] unit-test
|
||||||
|
|
||||||
|
{ 1 } [ 0 >bignum T{ foo f 1 2 3 } nth ] unit-test
|
||||||
|
{ 2 } [ 1 >bignum T{ foo f 1 2 3 } nth ] unit-test
|
||||||
|
{ 3 } [ 2 >bignum T{ foo f 1 2 3 } nth ] unit-test
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license
|
! See http://factorcode.org/license.txt for BSD license
|
||||||
|
|
||||||
USING: accessors assocs classes classes.tuple
|
USING: accessors assocs classes classes.tuple
|
||||||
classes.tuple.private kernel sequences sequences.private
|
classes.tuple.private kernel math sequences sequences.private
|
||||||
slots.private ;
|
slots.private ;
|
||||||
|
|
||||||
IN: named-tuples
|
IN: named-tuples
|
||||||
|
@ -24,9 +24,11 @@ INSTANCE: named-tuple assoc
|
||||||
|
|
||||||
M: named-tuple length tuple-size ;
|
M: named-tuple length tuple-size ;
|
||||||
|
|
||||||
M: named-tuple nth-unsafe array-nth ;
|
M: named-tuple nth-unsafe
|
||||||
|
[ integer>fixnum ] dip array-nth ;
|
||||||
|
|
||||||
M: named-tuple set-nth-unsafe set-array-nth ;
|
M: named-tuple set-nth-unsafe
|
||||||
|
[ integer>fixnum ] dip set-array-nth ;
|
||||||
|
|
||||||
M: named-tuple like class-of slots>tuple ;
|
M: named-tuple like class-of slots>tuple ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue