Range expansion: Difference between revisions
no edit summary
No edit summary |
No edit summary |
||
Line 2,777:
swap over 1 - 1 swap slice tonum
rot rot len rot swap over - swap 1 + swap slice tonum
nip 2 tolist for append endfor
else
append drop
endif
endfor
r
pstack</lang>
A bit more understandable
<lang Phixmonti>0 tolist var r
def append
r swap 0 put var r
enddef
def getSeparator /# s -- s n #/
dup 32 1 set
"-" find nip
enddef
def first /# s n -- s n #/
swap over 1 - 1
swap slice tonum
enddef
def last /# s n -- s n #/
swap len rot swap over - swap 1 +
swap slice tonum
enddef
"-6,-3--1,3-5,7-11,14,15,17-20" "," " " subst split
len for
get dup tonum dup
nan == if
drop
getSeparator
first
rot rot swap
last
nip 2 tolist for append endfor
else
|