forked from an/flokati
markov: fixed severe bug in Shift()
This commit is contained in:
parent
327ce86ccd
commit
a517f0d638
|
@ -129,8 +129,12 @@ func (p MarkovPrefix) String() string {
|
||||||
|
|
||||||
// Shift removes the first word from the Prefix and appends the given word.
|
// Shift removes the first word from the Prefix and appends the given word.
|
||||||
func (p MarkovPrefix) Shift(word string) {
|
func (p MarkovPrefix) Shift(word string) {
|
||||||
copy(p, p[1:])
|
if len(p) < *markovPrefixLen {
|
||||||
p[len(p)-1] = word
|
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.
|
// MarkovChain contains a map ("chain") of prefixes to a list of suffixes.
|
||||||
|
|
Loading…
Reference in New Issue