我一直在学习一些Haskell并编写非常简单的程序.我想创建一个函数,它将返回给定位置的元素.这是我试图做的 -
elempos::Int->[a]->a
elempos n (b:_)=head (drop n (b:_) )
Run Code Online (Sandbox Code Playgroud)
但是当我在GHCi编辑器中加载Test.hs文件时,我收到此错误.
Pattern syntax in expression context: _
Run Code Online (Sandbox Code Playgroud)
它说失败,模块加载:无.因为我对这门语言很陌生,所以我真的不知道错误是什么(目前在第4章了解你是一个haskell).谁能告诉我这里有什么问题?
Cat*_*lus 11
_
只在模式中有效,你试图在表达式中使用它:head (drop n (b : _))
.既然你真的不需要分解列表,而你确实需要尾部,那么解决方案就是:
elempos n xs = head (drop n xs)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3896 次 |
最近记录: |