这样的问题......根据作业,我需要将此代码转换为以下类型链:int -> float -> float,但我不能这样做(我会很高兴任何澄清!
let vat n x = if 0.0 <= n && n <= 100.0 then (n / 100.0) * x else 0.0
let n_perc = vat 1.0
printfn "%f" (n_perc 100.0)
这样的问题......根据作业,我需要将此代码转换为以下类型链:int -> float -> float,但我不能这样做(我会很高兴任何澄清!
let vat n x = if 0.0 <= n && n <= 100.0 then (n / 100.0) * x else 0.0
let n_perc = vat 1.0
printfn "%f" (n_perc 100.0)
F#一种强类型语言,在大多数情况下禁止隐式类型转换。这意味着您不能将类型值传递给int需要非整数值的函数。您将不得不重写函数,以便类型
n实际上是int而不是float:小补充:
你所说的“类型链接”:
通常称为函数签名。
为了更好地理解 F# 和一般的函数式方法,我推荐以下系列文章:
功能性思维。第1部分
或者,如果英语对您来说不是问题,那么一个非常有用的网站
fsharpforfunandprofit