For giggles I tried writing this in Oz. The ReverseWords function could have been written without all the intermediate variables but it would have suffered in readability so I didn't. It's also a complete program with loading the appropriate libraries, etc.
functor import Application System String at 'x-oz://system/String.ozf' define fun {IsntNil X} case X of nil then false else true end end fun {ReverseWords In Split} local Tokens FilteredTokens Reversed Str in Tokens = {String.split In Split} FilteredTokens = {List.filter Tokens IsntNil} Reversed = {List.reverse FilteredTokens} Str = {String.join Reversed Split} {String.toAtom Str} end end in {System.print {ReverseWords " one two three four " " "}} {Application.exit 0} end
⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊
In reply to Re: Five Ways to Reverse a String of Words (..., Oz)
by diotalevi
in thread Five Ways to Reverse a String of Words (C#, Perl 5, Perl 6, Ruby, Haskell)
by eyepopslikeamosquito
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |