Skip to content

Commit 1645b3f

Browse files
author
Robb Kidd
committed
2022 day4 - refactor input parsing
1 parent 91ec05d commit 1645b3f

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

2022/ruby/day04.rb

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,7 @@ def initialize(input=nil)
1212
# @example
1313
# day.part1 => 2
1414
def part1
15-
@input
16-
.split("\n")
17-
.map { |line| line.split(",") }
18-
.map { |pair|
19-
pair
20-
.map{ |elf| elf.split("-").map(&:to_i)}
21-
.map{ |start, stop| Range.new(start,stop) }
22-
}
15+
input_as_ranges
2316
.map { |assign_a, assign_b|
2417
assign_a.cover?(assign_b) || assign_b.cover?(assign_a)
2518
}
@@ -30,6 +23,17 @@ def part1
3023
def part2
3124
end
3225

26+
def input_as_ranges
27+
@as_ranges ||= @input
28+
.split("\n")
29+
.map { |line| line.split(",") }
30+
.map { |pair|
31+
pair
32+
.map{ |elf| elf.split("-").map(&:to_i)}
33+
.map{ |start, stop| Range.new(start,stop) }
34+
}
35+
end
36+
3337
def real_input
3438
File.read('../inputs/day04-input.txt')
3539
end

0 commit comments

Comments
 (0)