当前位置: 首页 > 知识库问答 >
问题:

Haskell-列表的立方体之和

松昱
2023-03-14

我必须写一个函数来求和一列数字的立方体。

这是我目前的代码:

cube' :: (Num a) => a -> a 
cube' x = x*x*x


mySum :: (Num a) => [a] -> a 
mySum [] = []
mySum xs = foldr (\acc x -> acc + cube'(x)) 0 xs

问题是,当我运行它时,会出现以下错误:

没有因使用“it”而产生的(Num[t0])实例

在交互式GHCI命令的stmt中:打印它

共有1个答案

东方和煦
2023-03-14

你肯定走对了路。正如比尔基尔在评论中指出的,该定义的第一条是错误的,没有必要的。另一个问题是,lambda的参数顺序错误。

 类似资料:
  • 代码假设返回树中从根到叶的每条路径的列表,顺序从左到右。具有一个子节点(一个子节点(一个子节点)和一个子节点(一个子节点)不被视为叶节点。 我试着像这样编码 但返回的路径似乎包括具有一个子节点的节点。这将导致类似于

  • 我在使用Haskell编写的程序中遇到了一些困难。其背后的思想是递归地在一个列表中找到最短的列表并返回该列表。我已经设法把程序写得很好,但我似乎不知道我在其中做错了什么。这些是我尝试编译时得到的错误: 无法将类型“a”与“[[a]]”匹配,“a”是一个严格的类型变量,由类型签名绑定的类型为:seltest::forall a。短时间内。HS:1:13。预期类型:[[[a]]],实际类型:[a] 在

  • 在本节中,我们将学习如何创建3D立方体。因此,首先创建六个相同大小的四边形,并以这样的方式放置它们,通过连接它们,我们将得到一个合适的立方体。我们还将旋转这个立方体以查看它的所有侧面。 要创建旋转立方体,请查看以下示例: 输出结果为:

  • 我们已经使用2D纹理很长时间了,但除此之外仍有更多的纹理类型等着我们探索。在本节中,我们将讨论的是将多个纹理组合起来映射到一张纹理上的一种纹理类型:立方体贴图(Cube Map)。 简单来说,立方体贴图就是一个包含了6个2D纹理的纹理,每个2D纹理都组成了立方体的一个面:一个有纹理的立方体。你可能会奇怪,这样一个立方体有什么用途呢?为什么要把6张纹理合并到一张纹理中,而不是直接使用6个单独的纹理呢

  • 借助于cube动画,实现一个简单的立方体菜单,手指滑动菜单,菜单可以左右循环滚动。 [Code4App.com]

  • 我想知道如何在Haskell中编写一个函数,将一个列表交织成单个列表,例如,如果我有一个名为