Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 没有由文字‘;1.0’;_Haskell - Fatal编程技术网

Haskell 没有由文字‘;1.0’;

Haskell 没有由文字‘;1.0’;,haskell,Haskell,对于类,我们必须为给定的一组问题编写一些代码。其中一个问题是以[[Double]]的形式创建一个身份矩阵。到目前为止,我已经提出了以下代码。然而,当我试图编译时,我得到了以下错误,不确定我做错了什么或它意味着什么 代码: 错误: • No instance for (Fractional [[Double]]) arising from the literal ‘1.0’ • In the second argument of ‘(:)’, namely ‘1.0

对于类,我们必须为给定的一组问题编写一些代码。其中一个问题是以[[Double]]的形式创建一个身份矩阵。到目前为止,我已经提出了以下代码。然而,当我试图编译时,我得到了以下错误,不确定我做错了什么或它意味着什么

代码:

错误:

    • No instance for (Fractional [[Double]])
        arising from the literal ‘1.0’
    • In the second argument of ‘(:)’, namely ‘1.0’
      In the expression: replicate (y - 1) 0.0 : 1.0
      In an equation for ‘identHelper’:
          identHelper y z
            | z == 0 = ([1.0] ++ replicate (y - 1) 0.0) : identHelper y 1
            | y == z = replicate (y - 1) 0.0 : 1.0
            | otherwise
            = (replicate z 0.0 ++ [1.0] ++ replicate (y - z - 1) 0.0)
                : identHelper y (z + 1)
问题是

           replicate (y-1) 0.0 : 1.0
顺便说一句,你可以(也应该)总是留下尾随的零,所以

           replicate (y-1) 0 : 1
例如,说
y=4
。然后这是

           [0,0,0] : 1
因此,您正在尝试在。。。名单<代码>1。
1
应该如何成为一个列表

我不确定你想要什么,但一个合理的选择是
[[1]]

           [0,0,0] : 1