Псевдоним для переменных в сопоставлении с образцом - PullRequest
0 голосов
/ 11 ноября 2018

У меня часто бывает что-то похожее на следующее (стандартное определение типа для деревьев):

match tree with
    | Branch(v, Branch(vl, tll, tlr), _) = f Branch(vl, tll, tlr)

На других языках есть возможность сделать что-то вроде:

match tree with
    | Branch(v, tl@Branch(_, _, _), _) = f tl

Есть ли у OCaml нечто подобное?

1 Ответ

0 голосов
/ 11 ноября 2018

Это делается с помощью ключевого слова as в OCaml:

match tree with
| Branch(v, (Branch(_, _, _) as tl), _) = f tl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...