例如,ATS中对应于C中以下结构的类型的语法是什么:
struct{ char *name; int age; double height; }另外,如何在ATS中构造这样一个类型的值?
发布于 2016-10-21 16:48:58
以下是翻译:
@{ name= string, age= int, height= double }这种类型的值可以构造如下:
val x = @{name = "hello", age= 3, height= 2.0}但是,请注意,这不是直译。
例如,C类型char*是指向char的指针,这通常意味着以零结尾的UTF-8字符串,它映射到ATS中的string类型。
但是,它很可能意味着缓冲区,比方说,在其他上下文中。
另外,请注意,在C中,您通常会逐个字段地初始化记录(即声明一个record类型的变量,然后逐个分配它的字段)。
只要你准备好处理类型检查器的投诉,你就可以在ATS中做同样的事情。
https://stackoverflow.com/questions/40167020
复制相似问题