11 lines
221 B
Ruby
11 lines
221 B
Ruby
def range_expand(rng)
|
|
rng.split(',').flat_map do |part|
|
|
if part =~ /^(-?\d+)-(-?\d+)$/
|
|
($1.to_i .. $2.to_i).to_a
|
|
else
|
|
Integer(part)
|
|
end
|
|
end
|
|
end
|
|
|
|
p range_expand('-6,-3--1,3-5,7-11,14,15,17-20')
|