Skip to content

Commit 205d1a2

Browse files
authored
Merge pull request #3 from Splode/fix/handle-windows-line-ending-in-dictionary-files
fix: split dictionary using scanner
2 parents b1194a4 + 1d41799 commit 205d1a2

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

dictionary.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,26 @@
22
package fname
33

44
import (
5+
"bufio"
56
_ "embed"
67
"strings"
78
)
89

910
//go:embed data/adjective
1011
var _adjective string
11-
var adjective = strings.Split(_adjective, "\n")
12+
var adjective = split(_adjective)
1213

1314
//go:embed data/adverb
1415
var _adverb string
15-
var adverb = strings.Split(_adverb, "\n")
16+
var adverb = split(_adverb)
1617

1718
//go:embed data/noun
1819
var _noun string
19-
var noun = strings.Split(_noun, "\n")
20+
var noun = split(_noun)
2021

2122
//go:embed data/verb
2223
var _verb string
23-
var verb = strings.Split(_verb, "\n")
24+
var verb = split(_verb)
2425

2526
// Dictionary is a collection of words.
2627
type Dictionary struct {
@@ -60,3 +61,13 @@ func (d *Dictionary) LengthNoun() int {
6061
func (d *Dictionary) LengthVerb() int {
6162
return len(d.verbs)
6263
}
64+
65+
func split(s string) []string {
66+
scanner := bufio.NewScanner(strings.NewReader(s))
67+
scanner.Split(bufio.ScanLines)
68+
var lines []string
69+
for scanner.Scan() {
70+
lines = append(lines, scanner.Text())
71+
}
72+
return lines
73+
}

0 commit comments

Comments
 (0)