Levenshtein distance: Difference between revisions
Content added Content deleted
m (→{{header|Wren}}: Changed to Wren S/H) |
Not a robot (talk | contribs) (Add Refal) |
||
Line 5,243: | Line 5,243: | ||
Levenshtein distance('saturday', 'sunday') == 3 |
Levenshtein distance('saturday', 'sunday') == 3 |
||
Levenshtein distance('rosettacode', 'raisethysword') == 8</pre> |
Levenshtein distance('rosettacode', 'raisethysword') == 8</pre> |
||
=={{header|Refal}}== |
|||
<syntaxhighlight lang="refal">$ENTRY Go { |
|||
= <Show ('kitten') ('sitting')> |
|||
<Show ('rosettacode') ('raisethysword')>; |
|||
}; |
|||
Show { |
|||
(e.A) (e.B) = <Prout e.A ' -> ' e.B ': ' <Lev (e.A) (e.B)>>; |
|||
}; |
|||
Lev { |
|||
(e.A) (), <Lenw e.A>: s.L e.A = s.L; |
|||
() (e.B), <Lenw e.B>: s.L e.B = s.L; |
|||
(s.C e.A) (s.C e.B) = <Lev (e.A) (e.B)>; |
|||
(e.A) (e.B), e.A: s.HA e.LA, e.B: s.HB e.LB = |
|||
<+ 1 <Min <Lev (e.LA) (e.B)> |
|||
<Lev (e.A) (e.LB)> |
|||
<Lev (e.LA) (e.LB)>>>; |
|||
} |
|||
Min { |
|||
s.N = s.N; |
|||
s.M s.N e.X, <Compare s.M s.N>: { |
|||
'-' = <Min s.M e.X>; |
|||
s.X = <Min s.N e.X>; |
|||
}; |
|||
};</syntaxhighlight> |
|||
{{out}} |
|||
<pre>kitten -> sitting: 3 |
|||
rosettacode -> raisethysword: 8</pre> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |