Markov chain text generator: Difference between revisions
Content added Content deleted
m (→{{header|Sidef}}: fixed an off-by-one error) |
m (→{{header|Perl}}: fixed an off-by-one error) |
||
Line 857: | Line 857: | ||
my ($n, @words) = @_; |
my ($n, @words) = @_; |
||
my %dict; |
my %dict; |
||
for my $i (0 .. |
for my $i (0 .. $#words - $n) { |
||
my @prefix = @words[$i .. $i+$n-1]; |
my @prefix = @words[$i .. $i+$n-1]; |
||
push @{$dict{join ' ', @prefix}}, $words[$i+$n]; |
push @{$dict{join ' ', @prefix}}, $words[$i+$n]; |
||
Line 873: | Line 873: | ||
my @words = split ' ', $text; |
my @words = split ' ', $text; |
||
push @words, @words[0..$n-1]; |
|||
my %dict = build_dict($n, @words); |
my %dict = build_dict($n, @words); |
||
my @rotor = @words[0 |
my @rotor = @words[0..$n-1]; |
||
my @chain = @rotor; |
my @chain = @rotor; |
||