Markov chain text generator: Difference between revisions

Content added Content deleted
m (→‎{{header|Perl}}: fixed an off-by-one error)
m (→‎{{header|Sidef}}: minor code simplifications)
Line 1,340: Line 1,340:
<lang ruby>func build_dict (n, words) {
<lang ruby>func build_dict (n, words) {
var dict = Hash()
var dict = Hash()
for i in (0 .. words.end-n) {
words.each_cons(n+1, {|*prefix|
var prefix = words.slice(i, i+n-1)
var suffix = prefix.pop
dict{prefix.join(' ')} := [] << words[i+n]
dict{prefix.join(' ')} := [] << suffix
}
})
return dict
return dict
}
}