Range modifications: Difference between revisions
Content added Content deleted
m (parse reversed ranges) |
|||
Line 234: | Line 234: | ||
function parse(::Type{RangeSequence}, s) |
function parse(::Type{RangeSequence}, s) |
||
seq = UnitRange[] |
seq = UnitRange[] |
||
entries = |
entries = split(s, r"\s*,\s*") |
||
for e in entries |
for e in entries |
||
startstop = split(e, r"\:|\-") |
startstop = split(e, r"\:|\-") |
||
Line 245: | Line 245: | ||
end |
end |
||
end |
end |
||
return seq |
return sort!(seq) |
||
end |
end |
||
Line 335: | Line 335: | ||
println("Parse \"10-25, 1-5, 27-30\" => ", parse(RangeSequence, "10-25, 1-5, 27-30")) |
println("Parse \"10-25, 1-5, 27-30\" => ", parse(RangeSequence, "10-25, 1-5, 27-30")) |
||
println("Parse \" |
println("Parse \"3-1,15-5,25-10,30-27\" => ", parse(RangeSequence, "3-1,15-5,25-10,30-27")) |
||
</lang>{{out}} |
</lang>{{out}} |
||
<pre> |
<pre> |
||
Line 362: | Line 362: | ||
removed 7 => 1-5,10-25,27-30 |
removed 7 => 1-5,10-25,27-30 |
||
Parse "10-25, 1-5, 27-30" => |
Parse "10-25, 1-5, 27-30" => 10-25,27-30 |
||
Parse " |
Parse "3-1,15-5,25-10,30-27" => 1-3,5-25,27-30 |
||
</pre> |
</pre> |
||