Phrase reversals: Difference between revisions

Added program in K for phrase reversal task
No edit summary
(Added program in K for phrase reversal task)
Line 1,310:
Reverse the order of each word of the phrase.
reversal phrase code rosetta
</pre>
 
=={{header|K}}==
<lang K>
/ Rosetta code phrase reversal
/ phraserev.k
 
reversestr: {|x}
getnxtwd: {c:(&" "~'x); if[c~!0;w::x;:""];w::c[0]#x; x: ((1+c[0]) _ x)}
revwords: {rw:""; while[~(x~""); x: getnxtwd x;rw,:|w;rw,:" "];:-1 _ rw}
revwordorder: {rw:""; while[~(x~""); x: getnxtwd x;rw:" ",rw;rw:w,rw];:-1 _ rw}
 
</lang>
The output of a session is given below:
{{out}}
<pre>
K Console - Enter \ for help
 
\l phraserev
phrase: "rosetta code phrase reversal"
"rosetta code phrase reversal"
reversestr phrase
"lasrever esarhp edoc attesor"
revwords phrase
"attesor edoc esarhp lasrever"
revwordorder phrase
"reversal phrase code rosetta"
 
</pre>
 
Anonymous user