markov: fixed severe bug in Shift()
continuous-integration/drone/push Build is passing Details

This commit is contained in:
an 2019-08-24 09:06:39 +02:00
parent 327ce86ccd
commit a517f0d638
1 changed files with 6 additions and 2 deletions

View File

@ -129,8 +129,12 @@ func (p MarkovPrefix) String() string {
// Shift removes the first word from the Prefix and appends the given word.
func (p MarkovPrefix) Shift(word string) {
copy(p, p[1:])
p[len(p)-1] = word
if len(p) < *markovPrefixLen {
p = append(p, word)
} else {
copy(p, p[1:])
p[len(p)-1] = word
}
}
// MarkovChain contains a map ("chain") of prefixes to a list of suffixes.