List 如果Haskell中的元素数小于2,则删除列表中的前n个元素
如果少于2,则删除列表的前n个元素。错误表示“没有因使用“打印”而产生的(showa0)实例…”我从不理解Haskell错误消息List 如果Haskell中的元素数小于2,则删除列表中的前n个元素,list,haskell,List,Haskell,如果少于2,则删除列表的前n个元素。错误表示“没有因使用“打印”而产生的(showa0)实例…”我从不理解Haskell错误消息 func [] _ _ = [] func (x:xs) counter n | x > 2 && counter < n = x :func xs counter limit | otherwise = func xs (counter+1) limit main = do print $ f
func [] _ _ = []
func (x:xs) counter n
| x > 2 && counter < n = x :func xs counter limit
| otherwise = func xs (counter+1) limit
main = do
print $ func [3,1,4,2,1] 0 2
-- expectet output is [3,4,1]
func[]
func(x:xs)计数器n
|x>2&&counter
这将删除编译错误:
func [] _ _ = []
func (x:xs) counter n
| x > 2 && counter < n = x :(func xs counter n )
| otherwise = func xs (counter+1) n
main = do
print $ func [3,1,4,2,1] 0 2
func[]
func(x:xs)计数器n
|x>2&&counter
您已经定义了新变量
limit
,而不是n
。此外,您可能希望探索库函数,如获取
和删除
请显示您的真实代码<代码>顾问不存在。给出一个SSCCE。@不对,我不明白你说的“计数器”不存在是什么意思,我假设它是一个变量。呃,counetr
,而不是counter
。哦,我明白了,谢谢,我修好了