use logger interface

This commit is contained in:
Gabriel Bizdoc 2025-12-04 08:36:46 +02:00
parent 906cc597cd
commit 2834ad59ee
No known key found for this signature in database
GPG Key ID: 3F0EDAECA5BE9ED9
4 changed files with 16 additions and 13 deletions

View File

@ -5,11 +5,10 @@ import (
"fmt" "fmt"
"io" "io"
"iter" "iter"
"log"
"strconv" "strconv"
) )
func Day1Part1(r io.Reader, l *log.Logger) (any, error) { func Day1Part1(r io.Reader, l Logger) (any, error) {
dial := 50 dial := 50
solution := 0 solution := 0
for pair := range day1GetPairs(r) { for pair := range day1GetPairs(r) {
@ -27,7 +26,7 @@ func Day1Part1(r io.Reader, l *log.Logger) (any, error) {
return solution, nil return solution, nil
} }
func Day1Part2Slow(r io.Reader, l *log.Logger) (any, error) { func Day1Part2Slow(r io.Reader, l Logger) (any, error) {
dial := 50 dial := 50
solution := 0 solution := 0
for pair := range day1GetPairs(r) { for pair := range day1GetPairs(r) {
@ -45,7 +44,7 @@ func Day1Part2Slow(r io.Reader, l *log.Logger) (any, error) {
return solution, nil return solution, nil
} }
func Day1Part2Fast(r io.Reader, l *log.Logger) (any, error) { func Day1Part2Fast(r io.Reader, l Logger) (any, error) {
dial := 50 dial := 50
solution := 0 solution := 0
for pair := range day1GetPairs(r) { for pair := range day1GetPairs(r) {

View File

@ -5,7 +5,6 @@ import (
"bytes" "bytes"
"fmt" "fmt"
"io" "io"
"log"
"strconv" "strconv"
"strings" "strings"
@ -51,7 +50,7 @@ func (s *day2Scanner) Bounds() (int, int) {
return s.a, s.b return s.a, s.b
} }
func Day2Part1Simple(r io.Reader, l *log.Logger) (any, error) { func Day2Part1Simple(r io.Reader, l Logger) (any, error) {
input, err := aocutils.ReadString(r) input, err := aocutils.ReadString(r)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to read input: %s", err) return nil, fmt.Errorf("failed to read input: %s", err)
@ -95,7 +94,7 @@ func Day2Part1Simple(r io.Reader, l *log.Logger) (any, error) {
return sum, nil return sum, nil
} }
func Day2Part2Simple(r io.Reader, l *log.Logger) (any, error) { func Day2Part2Simple(r io.Reader, l Logger) (any, error) {
input, err := aocutils.ReadString(r) input, err := aocutils.ReadString(r)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to read input: %s", err) return nil, fmt.Errorf("failed to read input: %s", err)
@ -155,7 +154,7 @@ func Day2Part2Simple(r io.Reader, l *log.Logger) (any, error) {
return sum, nil return sum, nil
} }
func Day2Part1(r io.Reader, logger *log.Logger) (any, error) { func Day2Part1(r io.Reader, logger Logger) (any, error) {
inputScanner := bufio.NewScanner(r) inputScanner := bufio.NewScanner(r)
inputScanner.Split(aocutils.SplitComma) inputScanner.Split(aocutils.SplitComma)
scanner := &day2Scanner{scanner: inputScanner, sep: '-'} scanner := &day2Scanner{scanner: inputScanner, sep: '-'}
@ -182,7 +181,7 @@ func Day2Part1(r io.Reader, logger *log.Logger) (any, error) {
return sum, scanner.Err() return sum, scanner.Err()
} }
func Day2Part2(r io.Reader, logger *log.Logger) (any, error) { func Day2Part2(r io.Reader, logger Logger) (any, error) {
inputScanner := bufio.NewScanner(r) inputScanner := bufio.NewScanner(r)
inputScanner.Split(aocutils.SplitComma) inputScanner.Split(aocutils.SplitComma)

View File

@ -4,17 +4,16 @@ import (
"bufio" "bufio"
"fmt" "fmt"
"io" "io"
"log"
"strings" "strings"
) )
func Day3Part1(r io.Reader, l *log.Logger) (any, error) { func Day3Part1(r io.Reader, l Logger) (any, error) {
return Day3(r, l, 2) return Day3(r, l, 2)
} }
func Day3Part2(r io.Reader, l *log.Logger) (any, error) { func Day3Part2(r io.Reader, l Logger) (any, error) {
return Day3(r, l, 12) return Day3(r, l, 12)
} }
func Day3(r io.Reader, logger *log.Logger, size int) (int64, error) { func Day3(r io.Reader, logger Logger, size int) (int64, error) {
scanner := bufio.NewScanner(r) scanner := bufio.NewScanner(r)
scanner.Split(bufio.ScanLines) scanner.Split(bufio.ScanLines)
var sum int64 var sum int64

6
year25/utils.go Normal file
View File

@ -0,0 +1,6 @@
package year25
type Logger interface {
Printf(string, ...interface{})
Println(...interface{})
}