【问题标题】:F#: Why can't I use optional parameters in loose functions?F#:为什么我不能在松散函数中使用可选参数?
【发布时间】:2010-10-31 01:50:19
【问题描述】:

为什么我不能在用“let”定义的松散函数中使用可选参数?

为什么它们只允许在成员函数中使用?

【问题讨论】:

    标签: f# optional-parameters


    【解决方案1】:

    我怀疑它们只是为了与 .NET 函数兼容而提供的。它们不是您在函数式语言中遇到的东西。可选参数的问题是你不能咖喱它。如果一个函数f的第二个参数是可选的,那是什么

    让 g = f x
    ?

    它是一个接受一个参数的函数,还是一个通过在 x 上计算 f 加上默认的第二个参数获得的值?

    【讨论】:

      【解决方案2】:

      在 OCaml 中是允许的。因此应该可以在 F# 中实现它。

      http://caml.inria.fr/pub/docs/manual-ocaml/lablexamples.html#sec43

      我想在 F# 中为了简单起见已将其省略。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-14
        • 2020-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-14
        • 2015-03-01
        相关资源
        最近更新 更多