[ create a new paste ] login | about

Link: http://codepad.org/ii9khcky    [ raw code | output | fork ]

mohit_at_codepad - Haskell, pasted on Mar 22:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- Written by Mohit Jain
-- Problem statement
-- Reverse every word of the string
-- (Convert multiple spaces into one space)

main = reverseAndPrint "This is a test string"
reverseAndPrint = putStr . unwords . map reverseWord . words

-- reverseWord [] = ERROR!!!
reverseWord x = if preserveLastChar then revInitAndAddLastChar else revX where
                preserveLastChar = elem lastChar ".,"
                lastChar = last x
                revInitAndAddLastChar = revInitX ++ [lastChar]
                revInitX = reverse . init $ x
                revX = reverse x


Output:
1
sihT si a tset gnirts


Create a new paste based on this one


Comments: