Types 如何使用变量选项在rescript中键入函数参数?

Types 如何使用变量选项在rescript中键入函数参数?,types,variant,rescript,Types,Variant,Rescript,我想做以下几点。但我似乎无法使用variant选项之一键入函数参数。在法令中实现这一点的正确方法是什么 类型主题=数学|历史 类型人= |教师({firstName:string,subject:subject}) |学生({firstName:string}) 让Hassamen和Antecher=( ~teacher:teacher,//这里有语法错误 ~z~学生:人, ) => { teacher.firstName==student.firstName } 教师和学生本身不是类型,而是

我想做以下几点。但我似乎无法使用variant选项之一键入函数参数。在法令中实现这一点的正确方法是什么

类型主题=数学|历史
类型人=
|教师({firstName:string,subject:subject})
|学生({firstName:string})
让Hassamen和Antecher=(
~teacher:teacher,//这里有语法错误
~z~学生:人,
) => {
teacher.firstName==student.firstName
}

教师
学生
本身不是类型,而是构造
个人
类型值的构造函数。如果希望它们具有不同的类型,则必须使其显式:

大学模块={
类型主题=数学|历史
键入teacher={firstName:string,subject:subject}
类型student={firstName:string}
类型人=
|教师(教师)
|学生(学生)
让Hassamen和Antecher=(
~z~老师:老师,
~z~学生:学生,
) => {
teacher.firstName==student.firstName
}
}