gpt4 book ai didi

ocaml - OCaml 中的参数化类型

转载 作者:行者123 更新时间:2023-12-01 12:44:15 26 4
gpt4 key购买 nike

找了半天也没找到解决办法。这可能是一个我无法弄清楚的简单语法问题。

我有一个类型:

# type ('a, 'b) mytype = 'a * 'b;;

我想创建一个类型为 string string sum 的变量。

# let (x:string string mytype) = ("v", "m");;
Error: The type constructor mytype expects 2 argument(s),
but is here applied to 1 argument(s)

我尝试了用不同的方式在类型参数周围加上括号,但我得到了几乎相同的错误。

但是,它适用于单个参数类型,所以我猜有些语法我不知道。

# type 'a mytype2 = string * 'a;;
# let (x:string mytype2) = ("hola", "hello");;
val x : string mytype2 = ("hola", "hello")

谁能告诉我如何用两个参数做到这一点?

最佳答案

你应该写

let (x: (string, string) mytype) = ("v", "m");;

也就是mytype参数是一对。您甚至可以删除不需要的括号:

let x: (string, string) mytype = "v", "m";;

关于ocaml - OCaml 中的参数化类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21750188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com