gpt4 book ai didi

types - OCaml 类型转换的区别

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

下面的 Ocaml 类型转换/转换方法有什么区别?

let a = (float) b ;;


let a = float_of_int b ;;

(考虑 a 是一个浮点数,b 是一个整数。)
一个比另一个有什么优势吗?还是他们一样?

最佳答案

OCaml 中没有通用的类型转换机制。恰好有一个名为 float 的函数与 float_of_int 做同样的事情.您可以使用任何一个,带或不带额外的括号。

$ ocaml
OCaml version 4.03.0

# float 3;;
- : float = 3.
# float_of_int 3;;
- : float = 3.
# (float) 3;;
- : float = 3.
# (float_of_int) 3;;
- : float = 3.

但是没有名为(比如) int 的函数:
# int 3.1;;
Error: Unbound value int
# (int) 3.0;;
Error: Unbound value int

C(和相关语言)中的类型转换实际上与 OCaml 的强类型系统不兼容。

关于types - OCaml 类型转换的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38943325/

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