再会!
所以我想写一个函数是Haskell如下
remove_nulls :: [ ([String], Int) ] -> [ ([String], Int) ] -> [ ([String], Int) ]
remove_nulls listofpair (y:ys)
| null listofpair = (y:ys)
| null (fst(head listofpair))= remove_nulls (tail listofpair) (y:ys)
| otherwise = remove_nulls (tail listofpair) (y:(head listofpair):ys)
这需要一个可能看起来像这样的输入
remove_nulls [ ([],0) , (["abc", "dce"], 2) ] []
这个想法是,如果它的第一个值包含空值,它将从列表中删除元组。但是,每次我调用它时,它都会返回“函数 remove_nulls 中的非详尽模式”。
我试过改变基本情况,但我总是得到相同的结果。任何帮助和利用都会很棒(目前只是学习 Haskell)。