# HG changeset patch # User IBBoard # Date 1702152737 0 # Node ID 5c8d2d181b94bda0a5d8c7e464dc7f4da98beea3 # Parent dcc060e59c47db6a238954b0712cdca283fd93fd Remove an unnecessary level of nesting The `reduce` now just passes through the remaining part of each range to future range transforms diff -r dcc060e59c47 -r 5c8d2d181b94 day5b.rb --- a/day5b.rb Sat Dec 09 20:07:16 2023 +0000 +++ b/day5b.rb Sat Dec 09 20:12:17 2023 +0000 @@ -37,8 +37,8 @@ def map_with_override(mappings, inputs) inputs.flat_map do |input| processed = [] - reduced_unprocessed = mappings.ranges.reduce(input) do |unprocessed, mapping| - if unprocessed.nil? + reduced_unprocessed = mappings.ranges.reduce(input) do |input_range, mapping| + if input_range.nil? nil elsif mapping.source_range.end <= input_range.begin or input_range.end <= mapping.source_range.begin # Input is entirely outside the mapped range @@ -57,7 +57,10 @@ (mapping.source_range.end)...(input_range.end) end end - processed + reduced_unprocessed + if ! reduced_unprocessed.nil? + processed << reduced_unprocessed + end + processed end end