可能是一个愚蠢的问题,但我刚开始使用 F#,我遇到了一个小问题。
假设我有这样的功能:
let multiplyByTwo x = x * 2
当我这样称呼它时:
let result = multiplyByTwo 5
一切正常,结果是 10。
当我这样称呼它时:
let result = multiplyByTwo 2.5
我希望得到 5 或 5.0 作为结果。然而实际结果是这样的:
让结果 = multiplyByTwo 2.5;;
---------------------------------^^^标准输入(4,28):错误 FS0001:此表达式应具有类型
int
但这里有类型
float
因为我希望这个函数有点通用(即接受浮点数和整数),所以我不喜欢这个。我的问题当然是:如何解决这个问题?