这个问题在这里已有答案:
type t1 = A of int * string
和 type t2 = A of (int * string)
,它们是不同还是相同?
在这个functional programming tutorial,幻灯片6,它说
在OCaml中,变体采用多个参数而不是将元组作为参数:int * string的一个不同于(int * string)的A . 但除非你被它咬了,否则它并不重要 .
但除了一对括号外,我没有看到任何区别 .
这个问题在这里已有答案:
type t1 = A of int * string
和 type t2 = A of (int * string)
,它们是不同还是相同?
在这个functional programming tutorial,幻灯片6,它说
在OCaml中,变体采用多个参数而不是将元组作为参数:int * string的一个不同于(int * string)的A . 但除非你被它咬了,否则它并不重要 .
但除了一对括号外,我没有看到任何区别 .
1 回答
请尝试以下方法:
也就是说,
B
是一个期望1个参数的构造函数(即一个包含两个整数的元组),而A
是一个接受2个参数的构造函数(作为带括号的逗号分隔的东西提供) .