feat: solve day 1 part 1
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
// Package instruction provides a model for representing dial instructions
|
||||
package instruction
|
||||
|
||||
import "strconv"
|
||||
|
||||
type Instruction interface {
|
||||
Direction() string
|
||||
Distance() int
|
||||
}
|
||||
|
||||
type instruction struct {
|
||||
direction string
|
||||
distance int
|
||||
}
|
||||
|
||||
func FromLine(line string) Instruction {
|
||||
dir := string(line[0])
|
||||
dist := line[1:]
|
||||
distAsInt, _ := strconv.Atoi(dist)
|
||||
|
||||
return instruction{
|
||||
direction: dir,
|
||||
distance: distAsInt,
|
||||
}
|
||||
}
|
||||
|
||||
func FromParts(direction string, distance int) Instruction {
|
||||
return instruction{
|
||||
direction: direction,
|
||||
distance: distance,
|
||||
}
|
||||
}
|
||||
|
||||
func (i instruction) Direction() string {
|
||||
return i.direction
|
||||
}
|
||||
|
||||
func (i instruction) Distance() int {
|
||||
return i.distance
|
||||
}
|
||||
Reference in New Issue
Block a user