意外地在F#interactive中重新定义了int64

时间:2012-02-15 10:33:50

标签: f#

也许我错过了一些明显的东西。在F#解释器中,有些东西像我期望的那样工作:

> 10;;
val it : int = 10
> int 10;;
val it : int = 10
> 10L;;
val it : int64 = 10L

然而,有些事情没有。我希望以下内容返回int64,而不是int,我不希望10转换为0。

> int64 10;;
val it : int = 0
> int64;;
val it : ('a -> int) = <fun:clo@143-3>

如何将整数转换为int64?

1 个答案:

答案 0 :(得分:6)

您是否可能意外重新定义int64?像let inline int64 = int这样的东西。当我尝试时,我得到了预期的结果:

Microsoft (R) F# 2.0 Interactive build 4.0.40219.1
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

> int64 20;;
val it : int64 = 20L
> int64;;
val it : (int -> int64) = <fun:it@2>
>