Advent 2021, day 2: simplify conditionals.
We have now learned about (when).
This commit is contained in:
parent
ccf4d551fc
commit
62ff778bcc
|
@ -10,22 +10,19 @@
|
|||
|
||||
(define v 0)
|
||||
(for ([t (in-lines)])
|
||||
(if (string-prefix? t "up")
|
||||
(begin (set! v (string->number (string-trim t "up ")))
|
||||
(set! d (- d v))
|
||||
(set! aim (- aim v)))
|
||||
#f)
|
||||
(if (string-prefix? t "down")
|
||||
(begin (set! v (string->number (string-trim t "down ")))
|
||||
(set! d (+ d v))
|
||||
(set! aim (+ aim v)))
|
||||
#f)
|
||||
(if (string-prefix? t "forward")
|
||||
(begin (set! v (string->number (string-trim t "forward ")))
|
||||
(set! h (+ h v))
|
||||
(set! h2 (+ h2 v))
|
||||
(set! d2 (+ d2 (* aim v))))
|
||||
#f))
|
||||
(when (string-prefix? t "up")
|
||||
(set! v (string->number (string-trim t "up ")))
|
||||
(set! d (- d v))
|
||||
(set! aim (- aim v)))
|
||||
(when (string-prefix? t "down")
|
||||
(set! v (string->number (string-trim t "down ")))
|
||||
(set! d (+ d v))
|
||||
(set! aim (+ aim v)))
|
||||
(when (string-prefix? t "forward")
|
||||
(set! v (string->number (string-trim t "forward ")))
|
||||
(set! h (+ h v))
|
||||
(set! h2 (+ h2 v))
|
||||
(set! d2 (+ d2 (* aim v)))))
|
||||
|
||||
(display (* h d))
|
||||
(display " ")
|
||||
|
|
Loading…
Reference in New Issue