我正在创建一个应该能够存储20个元素的数组的类,每个元素都是四个预定义类型的元组。另一个问题是,我不能使用参数。
为此,我找不到很好的在线资源,而我大学提供的材料确实不足。我正在为考试做准备,但涉及到OCaml中的对象时,我感到很困惑。
我正在考虑做
val mutable arr = Array.make 20 (input 20 values)
但这似乎过于简单和低效,无法作为正确的解决方案。
答案 0 :(得分:1)
类的字段可以具有任何类型。当然,这包括数组类型。反过来,数组可以包含任何类型,包括元组。
任何给定的可变字段和任何给定的数组当然都被限制为始终包含相同类型的值。这就是输入“强”字的意思。
OCaml是一种高级语言,因此不需要(或确实没有机会)关注太多表示形式的细节。如果您想要一个带有您所说字段的班级,那么您推荐的类型听起来很不错。
type mytuple = int * float * char
class myclass = object
val mutable myfield : mytuple array = [||]
end
您可以在realworldocaml.org上找到有关OCaml的优质文档。 ocaml.org列出了更多资源。