Longest common prefix: Difference between revisions

Added Quackery.
(add bash)
(Added Quackery.)
Line 2,660:
[prefix, suffix] ->
[foo, foobar] -> foo</pre>
 
=={{header|Quackery}}==
 
<lang> [ dup [] = iff
[ drop true ] done
true swap
behead swap
witheach
[ over != if
[ dip not conclude ] ]
drop ] is allsame ( [ --> b )
 
[ dup [] = iff
[ drop 0 ] done
behead size swap
witheach [ size min ] ] is minsize ( [ --> n )
[ over [] = iff
drop done
[] unrot
swap witheach
[ over split
drop nested
rot swap join swap ]
drop ] is truncall ( [ n --> ] )
 
[ dup [] = if done
dup minsize truncall
[ dup allsame not while
-1 truncall
again ]
0 peek ] is commonprefix ( [ --> $ )
 
[ dup $ "" = if
[ drop
$ "** empty string" ]
echo$
cr ] is echoresult ( $ --> $ )
 
$ "interspecies interstellar interstate"
nest$ commonprefix echoresult
$ "throne throne"
nest$ commonprefix echoresult
$ "throne throne"
nest$ $ "" swap 1 stuff
commonprefix echoresult
$ "throne dungeon"
nest$ commonprefix echoresult
$ "cheese"
nest$ commonprefix echoresult
$ ""
nest$ commonprefix echoresult
' [ ] commonprefix echoresult
$ "prefix suffix"
nest$ commonprefix echoresult
$ "foo foobar"
nest$ commonprefix echoresult</lang>
 
{{out}}
 
<pre>inters
throne
** empty string
** empty string
cheese
** empty string
** empty string
** empty string
foo
</pre>
 
=={{header|Racket}}==
1,462

edits