簡體   English   中英

OCaml:如何從類型獲取參數?

[英]OCaml : How to get a parameter from a type?

這真的很簡單,但我找不到任何答案。

假設我創建了一個新type student = string * int ,它是一個學生的名字和他在測試中的分數的元組。

然后將學生列表傳遞給函數,我必須找到班級的平均分數(或列表)。

let blah (class : student list) : float =
match class with
[] -> [] 
| hd :: tl -> hd ??????

因此,我開始進行標准模式匹配,得到列表中的一個元素(又名學生),但是我如何准確地提取測試分數呢? 我覺得這確實很明顯而且很基礎,但是我以前只用int,字符串,int列表,int列表列表等進行編碼。其中hd是您想要的特定信息。

您只需要一個更復雜的模式:

match class with
| [] -> ...
| (name, score) :: tl -> ...

在某些情況下,您可以使用fstsnd來獲取一對組件,但根據我的經驗,匹配通常可以為您提供簡潔的代碼。

暫無
暫無

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

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