如何在OCaml中获取数组的元素类型

Yixing Liu

给定OCaml中的任何数组,我想通过首先获取其类型来获取数组元素的大小。

# let element_type = Array.element_type arr;;
# let element_size = of_int (sizeof element_type);;

但是,函数Array.element似乎不再可用。我还可以做些什么?

静脉血

类型不是值,它没有任何内存表示形式。类型仅存在于源代码中,类型检查器使用它来静态验证是否缺少某些运行时错误。在编译过程中会从程序中删除类型。没有其他类型(如Java和C ++)中的类型的运行时表示形式。

所有值在OCaml中统一表示为立即数或指向堆的指针。因此,所有值都具有相同的大小,即等于一个机器字的大小。而且,严格来说,值表示是特定于实现的,因此您永远不要直接访问它。OCaml不是C,它负责内存表示(并对其进行抽象)。因此,尝试深入了解其内部是一个坏主意。

经过澄清的注释后,很明显您正在谈论Ctypes库中的数组类型。Ctypes库提供了C语言的接口(双向),并将C类型表示为OCaml值。它们还提供了CArray.t将C数组表示为OCaml值的类型。对于该数组,您绝对可以通过利用Ctypes.CArray.element_type函数来获得大小,例如,

let sizeof_element arr = sizeof (CArray.element_type arr)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在D中获取数组的元素类型大小?

来自分类Dev

如何在OCaml中查找数组元素的索引

来自分类Dev

如何在Clojure中从Java声明的字段中获取数组元素的类型?

来自分类Dev

如何获取数组元素的类型?

来自分类Dev

如何访问类型定义OCaml中的元素

来自分类Dev

如何在Java中编辑类类型数组中的元素?

来自分类Dev

如何在OCaml中重新导出类型?

来自分类Dev

如何在ML中获取新类型的元素?

来自分类Dev

如何在 OCaml 中获取参数计数?

来自分类Dev

如何在C#中获取数组的数据类型?

来自分类Dev

如何在laravel中获取数组的某些元素?

来自分类Dev

如何在JavaScript中获取数组的第n个元素?

来自分类Dev

我如何在php中获取数组元素isMultiple

来自分类Dev

角度 - 如何在数组中获取对象的特定元素?

来自分类Dev

如何在 Ruby 中获取数组元素的所有组合?

来自分类Dev

如何在OCaml中使用自己的元素类型打印列表?

来自分类Dev

获取Java中数组元素的类型

来自分类Dev

如何在Go中创建自定义类型元素的自定义类型数组?

来自分类Dev

如何在OpenAPI 2.0中定义混合类型的数组(具有不同的元素类型)?

来自分类Dev

如何在数组中存储元素并在C中获取数组长度?

来自分类Dev

如何从数组中数组中的JSON数组中获取元素

来自分类Dev

如何获取嵌套向量中的元素类型?

来自分类Dev

如何在包Yojson Ocaml中创建新类型

来自分类Dev

如何在 OCaml/Reason 中创建可选的模块签名类型

来自分类Dev

如何在嵌套数组中查找元素并获取其子数组索引

来自分类Dev

如何在字符串数组中获取包含'/'的数组元素

来自分类Dev

如何从数组元素的值中获取数组元素?

来自分类Dev

如何在数组中获取数组?

来自分类Dev

如何从数组中获取每个注册类型?

Related 相关文章

  1. 1

    如何在D中获取数组的元素类型大小?

  2. 2

    如何在OCaml中查找数组元素的索引

  3. 3

    如何在Clojure中从Java声明的字段中获取数组元素的类型?

  4. 4

    如何获取数组元素的类型?

  5. 5

    如何访问类型定义OCaml中的元素

  6. 6

    如何在Java中编辑类类型数组中的元素?

  7. 7

    如何在OCaml中重新导出类型?

  8. 8

    如何在ML中获取新类型的元素?

  9. 9

    如何在 OCaml 中获取参数计数?

  10. 10

    如何在C#中获取数组的数据类型?

  11. 11

    如何在laravel中获取数组的某些元素?

  12. 12

    如何在JavaScript中获取数组的第n个元素?

  13. 13

    我如何在php中获取数组元素isMultiple

  14. 14

    角度 - 如何在数组中获取对象的特定元素?

  15. 15

    如何在 Ruby 中获取数组元素的所有组合?

  16. 16

    如何在OCaml中使用自己的元素类型打印列表?

  17. 17

    获取Java中数组元素的类型

  18. 18

    如何在Go中创建自定义类型元素的自定义类型数组?

  19. 19

    如何在OpenAPI 2.0中定义混合类型的数组(具有不同的元素类型)?

  20. 20

    如何在数组中存储元素并在C中获取数组长度?

  21. 21

    如何从数组中数组中的JSON数组中获取元素

  22. 22

    如何获取嵌套向量中的元素类型?

  23. 23

    如何在包Yojson Ocaml中创建新类型

  24. 24

    如何在 OCaml/Reason 中创建可选的模块签名类型

  25. 25

    如何在嵌套数组中查找元素并获取其子数组索引

  26. 26

    如何在字符串数组中获取包含'/'的数组元素

  27. 27

    如何从数组元素的值中获取数组元素?

  28. 28

    如何在数组中获取数组?

  29. 29

    如何从数组中获取每个注册类型?

热门标签

归档