Откуда вы знаете, какое выражение ожидает OCaml?(сопоставление с образцом) - PullRequest
0 голосов
/ 06 ноября 2011

Я выполняю сопоставление с образцом и получаю сообщение об ошибке, говорящее о том, что выражение было ожидаемым, типа 'список. Почему это так?

1 Ответ

3 голосов
/ 06 ноября 2011

Если ocaml ожидает, что выражение имеет определенный тип, это потому, что вы выполняете некоторую операцию с этим выражением, которая работает только с этим типом.Таким образом, в этом случае вы, вероятно, сопоставляете шаблон с выражением, используя шаблоны списков (т.е. конструкторы :: и nil или списочные литералы, например [x,y,z]).

Если вы попробуете это с выражением, котороене оценивает список, это, конечно, ошибка, о которой говорит сообщение об ошибке.

...