converting to capital letters
Hi, I am a newbie in Haskell and have some problem of defining a function that would convert all small letters to capital and leave the rest intact. I have managed to do with two functions: capitalise :: String -> String capitalise xs = [capitalise2 ch| ch<-xs] capitalise2 :: Char -> Char capitalise2 ch | isLower ch = chr (ord ch - 32) | otherwise = ch But in the book exercise it asks to define as a single function. I tried like this: capitalise :: String -> String capitalise xs = [chr (ord ch - 32) | ch<-xs, isLower ch] But this returns only converted characters, the rest is ignored. Any help would be much appriciated. Send instant messages to your online friends http://uk.messenger.yahoo.com
Hi Alex,
I suggest you try haskell-cafe@haskell.org, its a much better place to
ask these sorts of Haskell style questions.
The answer is to use an "if" expression somewhere, I'll leave you to
figure out where :)
Thanks
Neil
On 10/19/06, Alex Teslin
Hi, I am a newbie in Haskell and have some problem of defining a function that would convert all small letters to capital and leave the rest intact. I have managed to do with two functions:
capitalise :: String -> String capitalise xs = [capitalise2 ch| ch<-xs]
capitalise2 :: Char -> Char capitalise2 ch | isLower ch = chr (ord ch - 32) | otherwise = ch
But in the book exercise it asks to define as a single function. I tried like this:
capitalise :: String -> String capitalise xs = [chr (ord ch - 32) | ch<-xs, isLower ch]
But this returns only converted characters, the rest is ignored.
Any help would be much appriciated.
Send instant messages to your online friends http://uk.messenger.yahoo.com _______________________________________________ Hugs-Users mailing list Hugs-Users@haskell.org http://www.haskell.org/mailman/listinfo/hugs-users
participants (2)
-
Alex Teslin -
Neil Mitchell