Range expansion: Difference between revisions
Content added Content deleted
(added MiniScript example) |
|||
Line 2,182: | Line 2,182: | ||
</pre> |
</pre> |
||
=={{header|MiniScript}}== |
|||
<lang MiniScript>pullInt = function(chars) |
|||
numstr = chars.pull |
|||
while chars and chars[0] != "," and chars[0] != "-" |
|||
numstr = numstr + chars.pull |
|||
end while |
|||
return val(numstr) |
|||
end function |
|||
expandRange = function(s) |
|||
result = [] |
|||
chars = s.split("") |
|||
while chars |
|||
num = pullInt(chars) |
|||
if not chars or chars.pull == "," then |
|||
result.push num |
|||
else |
|||
result = result + range(num, pullInt(chars)) |
|||
chars.pull // skip "," after range |
|||
end if |
|||
end while |
|||
return result |
|||
end function |
|||
print expandRange("-6,-3--1,3-5,7-11,14,15,17-20")</lang> |
|||
{{out}} |
|||
<pre>[-6, -3, -2, -1, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 17, 18, 19, 20]</pre> |
|||
=={{header|MUMPS}}== |
=={{header|MUMPS}}== |