2017-01-15 3 views
0

При попытке скомпилировать следующий фрагмент кода:«Узор ожидается» в OCaml шаблон согласования с вариантами

type 'a frame = Empty | Frame of string * 'a * 'a frame 

let rec searchFrame f s = match f with 
    | Empty -> None 
    | Frame(x, val, fr) -> if x == s then 
          Some(val) 
         else 
          searchFrame fr s;; 

Я получаю ошибку Error: Syntax error: pattern expected. во втором случае матч, соответствующий val. Я не могу понять, что я делаю неправильно здесь: в основном val должен соответствовать значению типа 'a, но вместо этого меня попросят поместить шаблон. Как я могу это решить?

+2

val - это ключевое слово ocaml ... change to sth else –

+0

Это решило! Вы можете опубликовать его как ответ, чтобы я мог принять его как правильно. –

ответ

4

val - ключевое слово Ocaml - просто измените свой код, изменив val на v, например.