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]