まず、私が持っているもの:
s = "1,3..5,8"
私が欲しいもの:
[「1」、「3」、「4」、「5」、「8」]
私は以下の方法を見つけました
r = s.split(/\s?,\s?/)
=> ["10", "12..15", "17", "
r.map do |c|
if Fixnum === eval(c)
c
else
eval(c).map(&:to_s).flatten
end
end
=> ["10", "12", "13", "14", "15", "17", "18"]
これを達成するためのより良い方法はありますか?