1
Я получил следующие результаты при наборе этой функции в OCaml toplevel. Вход кажется мне идентичным одновременно, другой - пробел, окружающий оператор ::
. Может ли кто-нибудь объяснить разницу между 'a option list
и 'a option
здесь?Разница OCaml между 'списком опций и' a
# 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>
Вы должны быть правы. Я не мог воссоздать проблему, поэтому она, должно быть, была связана с некоторыми предыдущими связями, о которых я забыл. Благодаря! –