簡體   English   中英

haskell列表中的模式匹配

[英]pattern matching on a list of lists in haskell

我想要一個函數,它接受一個數字列表列表,並計算每個內部列表的最大值以返回一個數字列表。 這是我的實現:

f :: [[Int]]->[Int]
f x:xs = (maximum x) : f xs 

這會導致解析錯誤:

h.hs:8:1: error: Parse error in pattern: f
  |
8 | f x:xs = (maximum x) : f xs

我的代碼出了什么問題? 實現這樣一個功能的正確方法是什么?

在Haskell中,只有當括號括起來時,才可以使用構造函數操作符作為模式:

f :: [[Int]] -> [Int]
f (x:xs) = (maximum as) : f xs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM