也许我错过了一些明显的东西。在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?
答案 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>
>