• atwiki
  • RGSS Tips @Wiki
  • 範囲・配列などのオブジェクトから数字オブジェクトを展開・まとめる

RGSS Tips @Wiki

範囲・配列などのオブジェクトから数字オブジェクトを展開・まとめる

最終更新:

匿名ユーザー

- view
管理者のみ編集可
def expand_val(what)
  ary = []
  return ary.push(what) if what.is_a?(Integer)
  what.each do |w|
    if w.is_a?(Integer)
      ary.push(w)
    elsif w.is_a?(Range)
      w.each {|range| ary.push(range)}
    elsif w.is_a?(Array)
      ary += expand_val(w) # 別の自分を呼び出す
    end
  end
  return ary
end

# 使い方
val = [1, 50..53, [100, 101, 102], 2, 3]
展開・まとめた配列 = expand_val(val) # => [1, 50, 51, 52, 53, 100, 101, 102, 2, 3]
記事メニュー
目安箱バナー