diff --git a/rover.fnl b/rover.fnl index e25cc45..e4a06fc 100644 --- a/rover.fnl +++ b/rover.fnl @@ -31,17 +31,17 @@ } (. direction))) - (fn command [rover string] - (match string - :f (match rover.direction - :n (merge rover {:y (+ rover.y 1)}) - :s (merge rover {:y (- rover.y 1)}) - :w (merge rover {:x (- rover.x 1)}) - :e (merge rover {:x (+ rover.x 1)})) - :r (merge rover {:direction (turn-right rover.direction)}) - :l (merge rover {:direction (turn-left rover.direction)}) - _ (assert false (. "unrecognised command " string)))) + (merge rover + (match string + :f (match rover.direction + :n {:y (+ rover.y 1)} + :s {:y (- rover.y 1)} + :w {:x (- rover.x 1)} + :e {:x (+ rover.x 1)}) + :r {:direction (turn-right rover.direction)} + :l {:direction (turn-left rover.direction)} + _ (assert false (. "unrecognised command " string))))) (fn execute [rover [cmd & cmds]] (let [r1 (command rover cmd)]