Functional programming 要在OCaml中列出的列表选项
我有一个返回(char list)列表选项的函数,我正在尝试获取列表的大小:Functional programming 要在OCaml中列出的列表选项,functional-programming,ocaml,Functional Programming,Ocaml,我有一个返回(char list)列表选项的函数,我正在尝试获取列表的大小: let c = recherche m ledico in match c with | None -> Printf.printf "Non." | Some [] -> Printf.printf "Oui." | _ -> let n = List.length c in (...) recherche是返回(字符列表)列表选项的函数,它可以返回None
let c = recherche m ledico in
match c with
| None -> Printf.printf "Non."
| Some [] -> Printf.printf "Oui."
| _ ->
let n = List.length c in
(...)
recherche
是返回(字符列表)列表选项的函数
,它可以返回None
、Some[]
或Some[[…];…;[…]
。我怎么找到这个长度?我看到了解决方案,但不起作用:
Error: The function applied to this argument has type 'a list -> 'a list
This argument cannot be applied with label ~f
如何获得列表选项的大小?您只需为列表命名即可
| Some l -> let n = List.length l in ...
你只需要给列表一个名字
| Some l -> let n = List.length l in ...
你只需要给列表一个名字
| Some l -> let n = List.length l in ...
你只需要给列表一个名字
| Some l -> let n = List.length l in ...
要将函数应用于
'a选项
,您只需要一个作用于'a
类型的值的函数,以及一个在输入为无
时返回的值。核心库中有一个名为value\u map
的函数可以执行此操作。基本实现非常简单:
let value_map x default f =
match x with
| None -> default
| Some sx -> f sx
在您的情况下,您需要选择一个默认值。要应用的函数是
List.length
要将函数应用于'a选项
,您只需要一个作用于'a
类型的值的函数,以及一个在输入为无
时要返回的值。核心库中有一个名为value\u map
的函数可以执行此操作。基本实现非常简单:
let value_map x default f =
match x with
| None -> default
| Some sx -> f sx
在您的情况下,您需要选择一个默认值。要应用的函数是
List.length
要将函数应用于'a选项
,您只需要一个作用于'a
类型的值的函数,以及一个在输入为无
时要返回的值。核心库中有一个名为value\u map
的函数可以执行此操作。基本实现非常简单:
let value_map x default f =
match x with
| None -> default
| Some sx -> f sx
在您的情况下,您需要选择一个默认值。要应用的函数是
List.length
要将函数应用于'a选项
,您只需要一个作用于'a
类型的值的函数,以及一个在输入为无
时要返回的值。核心库中有一个名为value\u map
的函数可以执行此操作。基本实现非常简单:
let value_map x default f =
match x with
| None -> default
| Some sx -> f sx
在您的情况下,您需要选择一个默认值。要应用的函数是List.length