我有这种记录类型:
type syllable = {onset: consonant list; nucleus: vowel list; coda: consonant list};;
Run Code Online (Sandbox Code Playgroud)
如果我想要实例化只有核被定义的音节怎么办?我可以给它一个默认值吗?是默认为[]还是类似的东西?
只是为了让newacct的答案更加清晰,这是一个例子
let default_syllable = { onset = []; nucleus = []; coda = [] }
let choose_only_nucleus nucleus =
{ default_syllable with nucleus = nucleus }
Run Code Online (Sandbox Code Playgroud)
我认为使用“可选”字段是一个更好的主意。
type syllable = {onset: consonant list option; nucleus: vowel list option; coda: consonant list option};;
Run Code Online (Sandbox Code Playgroud)
这样,您就可以定义您需要的内容。
{onset = Some [consonant, consonant, ...],
nucleus = None,
coda = Some [consonant, consonant, consonant, ...]}
Run Code Online (Sandbox Code Playgroud)
我认为这就是语法。