「範囲・配列などのオブジェクトから数字オブジェクトを展開・まとめる」の編集履歴(バックアップ)一覧はこちら
「範囲・配列などのオブジェクトから数字オブジェクトを展開・まとめる」(2005/09/10 (土) 14:58:44) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
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]
表示オプション
横に並べて表示:
変化行の前後のみ表示: