Phrase reversals: Difference between revisions

Content added Content deleted
(Added solution for Action!)
(Emacs Lisp: Fix formatting, use with-output-to-temp-buffer)
Line 887: Line 887:


=={{header|Emacs Lisp}}==
=={{header|Emacs Lisp}}==
<lang Emacs Lisp>
<lang Lisp>(defun reverse-sep (words sep)
(defun reverse-sep (words sep)
(mapconcat 'identity (reverse (split-string words sep)) sep))
(mapconcat 'identity (reverse (split-string words sep) ) sep) )


(defun reverse-chars (line)
(defun reverse-chars (line)
(reverse-sep line "") )
(reverse-sep line ""))


(defun reverse-words (line)
(defun reverse-words (line)
(reverse-sep line " ") )
(reverse-sep line " "))


(defvar line "rosetta code phrase reversal")
(progn

(setq line "rosetta code phrase reversal")
(with-output-to-temp-buffer "*reversals*"
(insert (format "%s\n" (reverse-chars line) ))
(princ (reverse-chars line))
(terpri)
(princ (mapconcat 'identity (mapcar #'reverse-chars
(insert (format "%s\n"
(split-string line)) " "))
(mapconcat 'identity (mapcar #'reverse-chars
(terpri)
(split-string line) ) " ") ))
(princ (reverse-words line))
(terpri))</lang>
(insert (format "%s\n" (reverse-words line) )))

</lang>
{{out}}
<b>Output:</b>

<pre>
lasrever esarhp edoc attesor
lasrever esarhp edoc attesor
attesor edoc esarhp lasrever
attesor edoc esarhp lasrever
reversal phrase code rosetta
reversal phrase code rosetta
</pre>


=={{header|Factor}}==
=={{header|Factor}}==