Range extraction: Difference between revisions

Content added Content deleted
Line 3,710: Line 3,710:
{{out}}
{{out}}
<pre>0-2, 4, 6-8, 11, 12, 14-25, 27-33, 35-39</pre>
<pre>0-2, 4, 6-8, 11, 12, 14-25, 27-33, 35-39</pre>

A bit less ugly

<lang Phixmonti>include ..\Utilitys.pmt

( 0 1 2 4 6 7 8 11 12 14
15 16 17 18 19 20 21 22 23 24
25 27 28 29 30 31 32 33 35 36
37 38 39 )

len get var fin
2 var i
i get fin == not
while
i 1 - get var prev
i get prev - 1 != if
inf i put
i 1 + var i
endif
i 1 + var i
i get fin == not
endwhile
inf 0 put

def printEnd print ", " print enddef

1 var ini

len for
var i
i get inf == if
i ini - ini swap slice
-1 get swap 1 get nip
over over == if drop printEnd
else over over - 1 == if printEnd printEnd
else print "-" print printEnd
endif
endif
i 1 + var ini
endif
endfor
8 tochar dup print print " " print</lang>


=={{header|PicoLisp}}==
=={{header|PicoLisp}}==