【发布时间】:2014-02-20 16:10:55
【问题描述】:
我对 Haskell 很陌生,作为输入,我想将一个字符串数组作为
["HEY" "I'LL" "BE" "RIGHT" "BACK"] 并寻找让我们说"BE" "RIGHT" "BACK" 并用不同的词替换它,让我们说"CHEESE"。我有一个为单个单词制作的函数,但如果字符串包含某个短语以用单词替换它,我希望它能够工作。哦,我不想使用外部库。
代码:
replace :: [String] -> [String]
replace [] = []
replace (h:t)
| h == "WORD" = "REPLACED" : replace t
| otherwise = h : replace t
【问题讨论】:
-
那么替换单个单词的代码是什么?这将有助于为多个单词执行它。
-
好的,我会编辑原帖
-
那么您将如何修改您的
replace函数,使其具有类型签名replace :: String -> String -> [String] -> [String],以便您可以传入要搜索的值和要替换的值?类似replace old new (h:t) = ... -
它不一定要按照我逐行执行的方式。我只需要一个想法或提示可以这么说。因为我可以做 4 个声明,但我不知道该怎么做
-
你试过
elem功能吗?它测试一个元素是否在列表中。
标签: string list haskell recursion