期待される型「Int」を実際の型「m0Int」と一致させることができませんでした

WKハジンズ

私は現在、Haskellを学ぶのに苦労しています。次の関数:

findPivot :: [[Double]] -> Int
findPivot matrixA =
    do
        let firstCol = (transpose(matrixA)!!0)
        let maxColValue = maximum firstCol
        let pivotIndex = elemIndex maxColValue firstCol
        return (fromJust(pivotIndex))

行列を表すdoubleの2Dリストを取得し、最初の列で最大値を持つ行を決定することになっています。マトリックスを表すためのリストの使用や転置の使用など、いくつかの非効率的な部分があることは知っていますが、私が直面している問題には、次のコンパイラエラーが含まれます。

Couldn't match expected type `Int' with actual type `m0 Int'
In the return type of a call of `return'
In a stmt of a 'do' block: return (fromJust (pivotIndex))
In the expression:
  do { let firstCol = (transpose (matrixA) !! 0);
       let maxColValue = maximum firstCol;
       let pivotIndex = elemIndex maxColValue firstCol;
       return (fromJust (pivotIndex)) }

m0意味はわかりませんが、モナドを意味すると思います。つまり、これは関数がモナド整数を返していることを意味していると思います。この問題とそれを解決する方法を理解する上での助けは非常にありがたいです。

ありがとう。

jamshidh

doそしてreturnモナドに関連しています。それらを使用するときは、モナドを使用するつもりであることをコンパイラーに伝えます。

関数型は非モナドです。これは、モナドを使用するつもりがないことをコンパイラーに通知します。コンパイラは、この不一致について警告しているだけです。

let外で使用できますdoが、構文は少し異なります

findPivot matrixA = 
            let 
                firstCol = (transpose(matrixA)!!0)
                maxColValue = maximum firstCol
                pivotIndex = elemIndex maxColValue firstCol
            in fromJust(pivotIndex)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

期待される型 `Maybe(String、Int、String) 'を実際の型`([Char]、t0、[Char])'と一致させることができませんでした

分類Dev

Haskellは期待される型 '[(Char、b0)]'を実際の型 '(Char、Int)'と一致させることができませんでした

分類Dev

期待される型 `Int 'を実際の型[Int]の二乗和と一致させることができませんでした

分類Dev

期待される型 `Int 'を実際の型[Int]と一致させることができませんでした

分類Dev

期待される型 `() 'を実際の型` Int'と一致させることができませんでした

分類Dev

期待される型「整数」を実際の型「m0整数」と一致させることができませんでした

分類Dev

期待されるタイプ '(Int, Int)' を実際のタイプ '[t0]' と一致させることができませんでした

分類Dev

Haskellプログラミング割り当て、「期待される型「Int」を実際の型「[a0]-> Int」と一致させることができませんでした」およびその他のいくつかのエラー

分類Dev

(Integer、Int、Int)をDayに変換する方法。期待される型「Day」を実際の型「(Integer、Int、Int)」と一致させることができませんでした

分類Dev

Haskellは期待される型floatを実際の型 'a'と一致させることができませんでした

分類Dev

期待される型「整数-> t」を実際の型「ブール」と一致させることができませんでした

分類Dev

期待される型 `[Integer] 'を実際の型` Bool'と一致させることができませんでした

分類Dev

Haskell:関数folde:期待される型「a」を実際の型「Expr」と一致させることができませんでした

分類Dev

期待される型 'x'を実際の型 `([Char]、[Char]、[Char]) 'と一致させることができませんでした

分類Dev

カスタム型クラスのインスタンス化:期待される型「b」を実際の型「Int」と一致させることができませんでした

分類Dev

期待されるタイプ `IO() 'を実際のタイプ` a0-> m0a0'と一致させることができませんでした

分類Dev

期待されるタイプ 'a-> Int'を実際のタイプ 'IOArrow StringInt'と一致させることができませんでした

分類Dev

期待される型と実際の型を一致させることができない、Haskell

分類Dev

gtk2hs:予期されたタイプ 'IO [Int]'を実際のタイプ '[Int]'と一致させることができませんでした

分類Dev

Haskell readFile:期待されるタイプ '[String]'を実際のタイプ 'IOString'と一致させることができませんでした

分類Dev

期待されるタイプ `[a] 'を実際のタイプ` a'と一致させることができませんでした

分類Dev

Haskell:期待されるタイプ「a1」を実際のタイプ「a」と一致させることができませんでした

分類Dev

Haskellは期待されるタイプ「ItemNat」を実際のタイプ「()」と一致させることができませんでした

分類Dev

期待されるタイプ `[a1] 'を実際のタイプ`([a1]、[a1])'と一致させることができませんでした

分類Dev

haskellは期待されるタイプを実際のタイプ 'Bool'と一致させることができませんでした

分類Dev

期待されるタイプ「a」を実際のタイプ「[a]」と一致させることができませんでした

分類Dev

Haskell '期待されるタイプと実際のタイプを一致させることができませんでした'

分類Dev

期待されるタイプ「a」と実際のタイプ「Integer」を一致させることができませんでした

分類Dev

期待されるタイプ「Post」を実際のタイプ「RouteApp」と一致させることができませんでした

Related 関連記事

  1. 1

    期待される型 `Maybe(String、Int、String) 'を実際の型`([Char]、t0、[Char])'と一致させることができませんでした

  2. 2

    Haskellは期待される型 '[(Char、b0)]'を実際の型 '(Char、Int)'と一致させることができませんでした

  3. 3

    期待される型 `Int 'を実際の型[Int]の二乗和と一致させることができませんでした

  4. 4

    期待される型 `Int 'を実際の型[Int]と一致させることができませんでした

  5. 5

    期待される型 `() 'を実際の型` Int'と一致させることができませんでした

  6. 6

    期待される型「整数」を実際の型「m0整数」と一致させることができませんでした

  7. 7

    期待されるタイプ '(Int, Int)' を実際のタイプ '[t0]' と一致させることができませんでした

  8. 8

    Haskellプログラミング割り当て、「期待される型「Int」を実際の型「[a0]-> Int」と一致させることができませんでした」およびその他のいくつかのエラー

  9. 9

    (Integer、Int、Int)をDayに変換する方法。期待される型「Day」を実際の型「(Integer、Int、Int)」と一致させることができませんでした

  10. 10

    Haskellは期待される型floatを実際の型 'a'と一致させることができませんでした

  11. 11

    期待される型「整数-> t」を実際の型「ブール」と一致させることができませんでした

  12. 12

    期待される型 `[Integer] 'を実際の型` Bool'と一致させることができませんでした

  13. 13

    Haskell:関数folde:期待される型「a」を実際の型「Expr」と一致させることができませんでした

  14. 14

    期待される型 'x'を実際の型 `([Char]、[Char]、[Char]) 'と一致させることができませんでした

  15. 15

    カスタム型クラスのインスタンス化:期待される型「b」を実際の型「Int」と一致させることができませんでした

  16. 16

    期待されるタイプ `IO() 'を実際のタイプ` a0-> m0a0'と一致させることができませんでした

  17. 17

    期待されるタイプ 'a-> Int'を実際のタイプ 'IOArrow StringInt'と一致させることができませんでした

  18. 18

    期待される型と実際の型を一致させることができない、Haskell

  19. 19

    gtk2hs:予期されたタイプ 'IO [Int]'を実際のタイプ '[Int]'と一致させることができませんでした

  20. 20

    Haskell readFile:期待されるタイプ '[String]'を実際のタイプ 'IOString'と一致させることができませんでした

  21. 21

    期待されるタイプ `[a] 'を実際のタイプ` a'と一致させることができませんでした

  22. 22

    Haskell:期待されるタイプ「a1」を実際のタイプ「a」と一致させることができませんでした

  23. 23

    Haskellは期待されるタイプ「ItemNat」を実際のタイプ「()」と一致させることができませんでした

  24. 24

    期待されるタイプ `[a1] 'を実際のタイプ`([a1]、[a1])'と一致させることができませんでした

  25. 25

    haskellは期待されるタイプを実際のタイプ 'Bool'と一致させることができませんでした

  26. 26

    期待されるタイプ「a」を実際のタイプ「[a]」と一致させることができませんでした

  27. 27

    Haskell '期待されるタイプと実際のタイプを一致させることができませんでした'

  28. 28

    期待されるタイプ「a」と実際のタイプ「Integer」を一致させることができませんでした

  29. 29

    期待されるタイプ「Post」を実際のタイプ「RouteApp」と一致させることができませんでした

ホットタグ

アーカイブ