我可以在列表完整字符串中使用elem查找

时间:2017-05-05 08:43:19

标签: haskell

接收字符串列表和包含问号的任何字符串的函数,附加以下字符串:例如,为[“1 1?”,“2。”,“ab?”,“c。”]结果[“F:1 1?”,“2。”,“F:ab?”,“c。” “]计算。

    import Data.Char

    data StringList = NilSL
            | ConsSL String StringList

    f2 [] = if elem "?" [] == True then "F:" : [] else False

1 个答案:

答案 0 :(得分:0)

首先,你为你的函数添加一个空参数。

然后你不必写if(smthg == true)而只是if(smthg)。

然后你必须使用递归。写[“F:”++ x](x使用[char]使用++而不是':')

你用递归(f2(xs))来结束。当你完成你的清单时,最后f2 [] = []

import Data.Char

data StringList = NilSL
    | ConsSL String StringList

f2 [] = []
f2 (x:xs) = if elem '?' x then ["F:" ++ x] : f2 (xs) else [x] : f2 (xs)
相关问题