Непонятно о значении по умолчанию для аргумента OCaml - PullRequest
2 голосов
/ 12 февраля 2012

Мне немного неясно, что именно будет значением var_c в этом определении функции в OCaml.Это присваивает var_c значение по умолчанию результата функции?Или значение по умолчанию от Enum.peek var_c до var_c?

let rec read var_a ?(var_b = var_a) var_c = match Enum.peek var_c with
    None -> None
    ...

Спасибо за помощь.

1 Ответ

5 голосов
/ 12 февраля 2012

var_c не имеет значения по умолчанию в опубликованном вами фрагменте. Это не является обязательным и должно быть указано в качестве аргумента. var_b имеет значение по умолчанию (а именно значение var_a).

match Enum.peek var_c with ... будет результатом функции. Это не значение по умолчанию для чего-либо.

...