diff options
| author | Mistivia <i@mistivia.com> | 2024-02-15 18:42:35 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2024-02-15 18:42:35 +0800 |
| commit | a19a1b970e5dd6983be8660ef6e0f5929fb5a149 (patch) | |
| tree | ae3e6b3b68573df77b872a2470a7dc01a8d69749 /advent-of-code/2023/lib/utils.rkt | |
| parent | f163146fe4b31f1b9e4e25f7f61a5c6928e2fe5b (diff) | |
refactor
Diffstat (limited to 'advent-of-code/2023/lib/utils.rkt')
| -rw-r--r-- | advent-of-code/2023/lib/utils.rkt | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/advent-of-code/2023/lib/utils.rkt b/advent-of-code/2023/lib/utils.rkt new file mode 100644 index 0000000..946bb86 --- /dev/null +++ b/advent-of-code/2023/lib/utils.rkt @@ -0,0 +1,17 @@ +#lang racket + +(provide get-lines + enumerate) + +(define (get-lines fp) + (let loop ((lines '())) + (define l (read-line fp)) + (if (eof-object? l) + (reverse lines) + (loop (cons l lines))))) + +(define (enumerate lst) + (let loop ((i 1) (ret '()) (remain lst)) + (if (null? remain) + (reverse ret) + (loop (+ 1 i) (cons (list (car remain) i) ret) (cdr remain)))))
\ No newline at end of file |
