N-grams: Difference between revisions
Content added Content deleted
m (→{{header|Wren}}: Library method change - results unaffected.) |
SqrtNegInf (talk | contribs) (Added Perl) |
||
Line 203: | Line 203: | ||
</pre> |
</pre> |
||
</pre> |
</pre> |
||
=={{header|Perl}}== |
|||
<syntaxhighlight lang="perl" line>use v5.36; |
|||
sub n_gram ($n, $line) { |
|||
my %N; |
|||
map { $N{substr lc($line),$_,$n}++ } 0..length($line)-$n; |
|||
%N |
|||
} |
|||
my %bi_grams = n_gram 2, 'Live and let live'; |
|||
say qq|'$_' - $bi_grams{$_}| for sort keys %bi_grams; |
|||
say ''; |
|||
my %tri_grams = n_gram 3, 'Live and let live'; |
|||
say qq|'$_' - $tri_grams{$_}| for sort keys %tri_grams;</syntaxhighlight> |
|||
{{out}} |
|||
<pre>' a' - 1 |
|||
' l' - 2 |
|||
'an' - 1 |
|||
'd ' - 1 |
|||
'e ' - 1 |
|||
'et' - 1 |
|||
'iv' - 2 |
|||
'le' - 1 |
|||
'li' - 2 |
|||
'nd' - 1 |
|||
't ' - 1 |
|||
've' - 2 |
|||
' an' - 1 |
|||
' le' - 1 |
|||
' li' - 1 |
|||
'and' - 1 |
|||
'd l' - 1 |
|||
'e a' - 1 |
|||
'et ' - 1 |
|||
'ive' - 2 |
|||
'let' - 1 |
|||
'liv' - 2 |
|||
'nd ' - 1 |
|||
't l' - 1 |
|||
've ' - 1</pre> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |