23 lines
404 B
Go
23 lines
404 B
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"fmt"
|
|
"io"
|
|
)
|
|
|
|
func readBatteries(r io.Reader) (banks [][]uint8, err error) {
|
|
sc := bufio.NewScanner(r)
|
|
for sc.Scan() {
|
|
var bank []uint8
|
|
for _, b := range sc.Bytes() {
|
|
if b < '0' || b > '9' {
|
|
return nil, fmt.Errorf("bank %q: invalid joltage %q", sc.Text(), b)
|
|
}
|
|
bank = append(bank, b-'0')
|
|
}
|
|
banks = append(banks, bank)
|
|
}
|
|
return banks, sc.Err()
|
|
}
|