gpt4 book ai didi

lambda - F# 中的高阶函数

转载 作者:行者123 更新时间:2023-12-02 07:17:34 25 4
gpt4 key购买 nike

大家好,我想表达对 test1 的函数调用,而不首先定义更高的函数

let higher = fun a b -> a>b
let rec test1 test2 number list=

match (number,list) with
|number,[] -> []
|number,x1::xs when test2 a x = true -> x1::test1 test2 number xs
|number,x1::xs -> test1 test2 number xs

printfn "%A" (test1 (higher 5 [5;2;7;8]))

最佳答案

这是设计使然。函数内定义的值和函数只能在该函数内访问,从外部不可见。

这使我们能够定义辅助函数和中间值,而不会污染全局命名空间。

为了使函数 higher 可以在函数 test1 外部访问,您需要在 test1 之前或之后定义它,但不能在函数内部定义它它。 test1 中定义的任何内容都只能在 test1 内部访问。

关于lambda - F# 中的高阶函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48574028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com