[英]OCaml difference between 'a option list and 'a list
在OCaml頂層輸入此函數時,我得到以下結果。 輸入似乎與我相同,除了::
運算符周圍的空白。 誰能解釋'a option list
'a option
和'a option
之間的區別?
# let rec at i = function
| [] -> None
| h::t -> if i = 1 then Some h else at (i-1) t;;
val at : int -> 'a option list -> 'a option = <fun>
# let rec at i = function
| [] -> None
| h :: t -> if i = 1 then Some h else at (i-1) t;;
val at : int -> 'a list -> 'a option = <fun>
這是我看到的:
$ ocaml
OCaml version 4.01.0
# let rec at i = function
| [] -> None
| h::t -> if i = 1 then Some h else at (i-1) t;;
val at : int -> 'a list -> 'a option = <fun>
# let rec at i = function
| [] -> None
| h :: t -> if i = 1 then Some h else at (i-1) t;;
val at : int -> 'a list -> 'a option = <fun>
在我看來,你的實驗在某種程度上是有缺陷的。 圍繞::
的間距不會有任何區別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.