可能是一个愚蠢的问题,但我刚刚开始使用F#而且我遇到了一些问题.
说我有这样的功能:
let multiplyByTwo x = x * 2
当我这样称呼时:
let result = multiplyByTwo 5
一切都好,结果是10.
当我这样称呼时:
let result = multiplyByTwo 2.5
我希望得到5或5.0.但实际结果如下:
let result = multiplyByTwo 2.5;;
———————————^^^stdin(4,28): error FS0001: This expression was expected to have type
06003
but here has type
06004
解决方法
let inline mulBy2 x = (float x) * 2.0 let a = mulBy2 3 // 6.0 : float let b = mulBy2 2.5 // 5.0 : float let c = mulBy2 "4" // 8.0 : float