eXi*_*nCe 2 haskell list-comprehension list
我在以下练习中遇到了一些问题:
我应该编写一个函数,即3个数字,xyn,x和y分别是列表推导的底部和上限,n是理解所具有的分区数.
例如:
?> partition 10 20 4
[10.0, 12.5, 15.0, 17.5, 20.0]
Run Code Online (Sandbox Code Playgroud)
我所做的是以下内容:
partition :: Double -> Double -> Double -> [Double]
partition x y n = [a+b | b = (y-x) / n , a -> [x,b..y]]
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我不能确定,因为当我尝试运行它,我收到以下错误消息的理解,里面b变量的值:
parse error on input `='
Run Code Online (Sandbox Code Playgroud)
注意:这应该是一个初学者练习,这应该有一个简单的解决方案
您只需要使用let关键字:
partition x y n = [a+b | let b = (y-x)/n , a <- [x,x+b..y]]
Run Code Online (Sandbox Code Playgroud)
然后你可以b根据需要使用:
? partition 10 20 4
[12.5,15.0,17.5,20.0,22.5]
Run Code Online (Sandbox Code Playgroud)