2015-05-18 2 views
3
type 'a item = { name:string; quantity:'a };; 

Это определение полиморфного типа, описанное в классе Ocaml. Я пытаюсь расширить этот тип имеет более чем один полиморфные переменные типа элементов, как:Как создать тип записи более чем одним полиморфным переменным

type 'a item = { name:string; quantity:'a; price:'b };; 

Но, я получаю сообщение об ошибке с несвязанным значением Ь. Итак, каков должен быть тип типа записи для более чем одной полиморфной переменной?

ответ

6

Попробуйте

type ('a,'b) item = { name:string; quantity:'a; price:'b };; 

Как вы можете догадаться, что вам нужно упомянуть каждую переменную типа на левой стороне. Вы сделали это для 'a, это естественно делать только для 'b.

+0

Не думал о кортеже типа. Спасибо – Fasna

+0

Да, я полагаю, вы попробовали '' a 'b item' вместо этого, я бы предпочел, чтобы это было так. Пожалуйста. ;) –

Смежные вопросы