【发布时间】:2011-11-29 05:37:08
【问题描述】:
我编写了以下代码来删除句子中的元音:
main = print $ unixname "The House"
vowel x = elem x "aeiouAEIOU"
unixname :: [Char] -> [Char]
unixname [] = []
unixname (x:xs) | vowel x = unixname xs
| otherwise = x : unixname xs
只是想知道是否可以为元音创建数据类型?编译器不允许我在数据类型中使用字符。
【问题讨论】:
-
我不知道 UNIX 名称中不允许使用元音 ;)
-
为什么需要“元音数据类型”?它会做什么?
-
@Anschel,大概是一个
Char,其值只能采用元音。这将是一种声明unixname的正确性标准之一的方法。呃……实际上不是因为他需要它的补充,而是你明白了。 -
这只是我CS课上的一个练习,不知道为什么他叫它“unixname”,用于删除元音的功能。
-
你也可以使用
unixname = filter consonantwhereconsonant = not . vowel
标签: haskell types functional-programming pattern-matching