接收字符串列表和包含问号的任何字符串的函数,附加以下字符串:例如,为[“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
答案 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)