У меня есть пользовательский типа в OCaml:типа Convert (примитивный) назад к примитивному в OCaml
type d = DefaultTemplateDir | TemplateDir of string
И позже в программе я применяю это:
let get_full_name ?(template_dir: d = DefaultTemplateDir) file_name =
let dir = (match template_dir with
| DefaultTemplateDir -> ""
| TemplateDir custom_dir -> custom_dir) in
dir^file_name
Но я получаю Ошибка здесь:
This expression has type d but an expression was expected of type string.
Как преобразовать тип TemplateDir обратно в строку, чтобы я мог выполнять строковые операции над ним?
Код работает для меня, где именно находится ваш тип ошибки? – PatJ
Да, мой плохой. Не знаете, почему здесь была ошибка. Спрятались с другими вещами, и это сработало. – eatonphil