All pastes #198043 Raw Edit

Unnamed

public text v1 · immutable
#198043 ·published 2006-10-11 18:30 UTC
rendered paste body
local
   fun readAndReverse' [] = "" (* hvis argument er den tomme liste har input kun vaeret blanktegn *)
     | readAndReverse' input = let val reversed = String.concat (  (* saml string list til en string *)
					 List.map (
						   (* tilfoej mellemrum efter hvert ord *)
						   (fn x => x ^ " ") o
						   (* saml char listerne igen *)
						   implode o
						   (* vend char listerne om *)
						   List.rev o
						   (* lav string til char list *)
						   explode) 
					              input) in

	       (* fjern det sidste mellemrum *)
	       String.substring(reversed, 0, String.size(reversed) -1)
       end
in
   (* anvend med TextIO.stdIn som argument for at laese fra konsol *)
   fun readAndReverse is = let val input = TextIO.inputLine(is) in
                               if input = "" (*orelse (Char.isSpace input)*) then (* for at undgaa exn Substring *)
                                  ""
                               else
				   (* string -> string list, del ved blanktegn *)
				   readAndReverse' (String.tokens Char.isSpace input)
                           end
end