Longest common prefix: Difference between revisions

→‎{{header|zkl}}: Added solution
(→‎{{header|zkl}}: Added solution)
Line 38:
The string method prefix returns the number of common prefix characters.
<lang zkl>fcn lcp(s,strings){ s[0,s.prefix(vm.pasteArgs(1))] }</lang>
Or, without using prefix:
<lang zkl>fcn lcp(strings){
vm.arglist.reduce(fcn(prefix,s){ Utils.Helpers.zipW(prefix,s)
.pump(String,fcn([(a,b)]){ a==b and a or Void.Stop })
})
}</lang>
<lang zkl>tester:=TheVault.Test.UnitTester.UnitTester();
tester.testRun(lcp.fp("interspecies","interstelar","interstate"),Void,"inters",__LINE__);
Line 46 ⟶ 52:
tester.testRun(lcp.fp("prefix","suffix"),Void,"",__LINE__);
tester.stats();</lang>
The fp (partial application) method is used to delay running lcp until thetUtils.Helpers.zipW("fooz","foobar").pump(String,fcn([(a,b)]){a==b and testera actuallyor testsVoid.Stop})
he tester actually tests.
{{out}}
<pre>
Anonymous user