我試過編寫一個函數來做到這一點,但無法讓GHCI理解我的代碼。我來自OOP背景,所以函數式編程對我來說是一個全新的領域。在Haskell中檢測豬拉丁文
checkPigLatin :: String -> String
checkPigLatin sentence (x:xs)
| check == "true" = "This is Pig Latin"
| otherwise = "Not Pig Latin"
where check = if (x `elem` "aeiouAEIOU", '-' `elem` xs, snd(break('a'==) xs) == 'a', snd(break('a'==) xs) == 'y') then "true"
什麼是你想的'if'裏面做?你似乎正在構建一個三元組:這是行不通的。 'if'後面的表達式需要評估爲'Bool'。你也錯過了'else'部分。 – 2012-03-02 20:05:11