]> gitweb.factorcode.org Git - factor.git/commitdiff
html5: Initial checkin.
authorDoug Coleman <doug.coleman@gmail.com>
Fri, 10 Jun 2022 17:43:08 +0000 (12:43 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 10 Jun 2022 17:43:08 +0000 (12:43 -0500)
1  2 
extra/modern/slices/slices.factor

index 93a3970ce9a897356989c1c38bb376ac4b49b39f,6322d937adbb81685dd8fcaa29721c4717847b6c..6a9f6793c6f94934e444fce53cf04dc3c5c4474f
@@@ -255,4 -256,39 +256,35 @@@ ERROR: subseq-expected-but-got-eof n st
      ] unless ;
  
  : rewind-slice ( n string slice -- n' string )
-     2nip [ from>> ] [ seq>> ] bi ; inline
 -    pick [
 -        length swap [ - ] dip
 -    ] [
 -        [ nip ] dip [ [ length ] bi@ - ] keepd
 -    ] if ; inline
++    2nip [ from>> ] [ seq>> ] bi ; inline
+ :: take-from? ( n seq subseq -- n'/f seq  ? )
+     subseq seq n pick length (subseq-start-from) 2nip [
+         n subseq length +
+         seq
+         t
+     ] [
+         n seq f
+     ] if ;
+ : check-slice? ( from to seq -- from to seq ? )
+     pick 0 < [
+         f
+     ] [
+         2dup length > [
+             f
+         ] [
+             t
+         ] if
+     ] if ; inline
+ :: take-from-insensitive? ( n seq str -- n'/f seq ? )
+     n str length over + seq check-slice? [
+         subseq str [ >lower ] bi@ sequence= [
+             n str length + seq t
+         ] [
+             n seq f
+         ] if
+     ] [
+         3drop n seq f
+     ] if ;