【发布时间】:2026-01-04 02:20:02
【问题描述】:
好的,我对 F# 很陌生,所以这可能在教科书中得到了很好的解释,但是为什么带有柯里化参数的 F# 函数不能有可选参数。例如函数Fun1 不能编译,而其他两个函数编译得很好。我想知道对可选参数有这个限制的原因是什么?有没有办法绕过这个限制?
type TestOptionalParameter =
member x.Fun1 (a: int) (?b : bool) =
if defaultArg b true then a else 2 * a
member x.Fun2 (?b : bool) =
if defaultArg b true then "yes" else "no"
member x.Fun3 (a: int, ?b : bool) =
if defaultArg b true then a else 2 * a
【问题讨论】:
标签: f#