Here's what I came up with. I especially like the 2nd version, even though it's longer, as it seems very declarative.

caps1 s = all (\x -> isUpper (head x)) (words s)

caps2 s = all startsWithUpper (words s) where
    startsWithUpper w = isUpper (head w)


I'm also fairly new to Haskell, so I would appreciate feedback from the more experienced.

Thanks.


On Jun 14, 2009, at 11:19 AM, Gjuro Chensen wrote:


Hello everyone!

Im a Haskell newbie, and Ive have few unanswered questions. For someone more experienced (at least I think so) its a very simple task, but I just cant get a grip on it and its pretty frustrating. It wouldn't be that bad if I
haven't browse thru bunch of pages and tutorials and still nothing...
The problem is: take a string, and if every words starts with uppercase
letter then print yes, else no.
Forum Text Bold -> yes
Frog image File -> no

Ive had my share of approaches to this, but I just cant make it work.
Standard one seemed the most simple:

search :: String -> String
search [] = []


and then use words (splits string on space) to split the string so I could get a list and go through it recursively. But how to apply words to entered
string in this form?

To find the first letter I came up with: first = take 1 (head x). And
compare it with elem or ASCII values to determine if its upper case.

Any help, advice or suggestion is appreciated.

Thanks in advance!

--
View this message in context: 
http://www.nabble.com/Haskell---string-to-list-isusses%2C-and-more-tp24022673p24022673.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to