RosettaCodeData/Task/Range-expansion/Yabasic/range-expansion.basic
2023-07-01 13:44:08 -04:00

22 lines
523 B
Text

print RangeExpand$("-6,-3--1,3-5,7-11,14,15,17-20")
sub RangeExpand$(s$)
local w$(1), n, i, r$, p, a, b
n = token(s$, w$(), ",")
for i = 1 to n
p = instr(w$(i), "-", 2)
if p then
a = val(left$(w$(i), p-1))
b = val(right$(w$(i), len(w$(i)) - p))
repeat
r$ = r$ + str$(a) + ","
a = a + 1
until(a > b)
else
r$ = r$ + w$(i) + ","
end if
next
return left$(r$, len(r$) - 1)
end sub