Levenshtein distance/Alignment: Difference between revisions
→{{header|Perl 6}}: style
(→{{header|Perl 6}}: shortening) |
(→{{header|Perl 6}}: style) |
||
Line 74:
for 1 ..^ @s X 1..^ @t -> \i, \j {
if @s[i]
} else {
@A[i][j]<d s t> = @A[i-1][j-1]<d s t> Z~ '', @s[i], @t[j];
}
▲ @A[i][j]<d> = 1 + my $min =
▲ min @A[i-1][j]<d>, @A[i][j-1]<d>, @A[i-1][j-1]<d>;
▲ @A[i][j]<s t> =
▲ @A[i-1][j]<d> == $min ?? (@A[i-1][j]<s t> Z~ @s[i], '-') !!
▲ @A[i][j-1]<d> == $min ?? (@A[i][j-1]<s t> Z~ '-', @t[j]) !!
▲ (@A[i-1][j-1]<s t> Z~ @s[i], @t[j]);
}
|