Longest common prefix: Difference between revisions

Content added Content deleted
(→‎version 3: updated program and output to reflect latest task test cases additions)
(→‎Perl 6: don't trim strings from the end, use lazy .ords instead)
Line 199: Line 199:




==Perl 6==
=={{header|Perl 6}}==
{{works with|rakudo|2015-03-26}}

<lang perl6>multi lcp { '' }
<lang perl6>multi lcp() { '' }
multi lcp(Str $s) { $s }
multi lcp($s) { ~$s }
multi lcp(*@s) {
multi lcp(*@s) { substr @s[0], 0, first-index *.not, [Zeqv] |@s».ords;
first -> $s { [&&] map { m/^$s/ }, @s },
( min(:by(*.chars), @s), *.chop ... * )
}
}