gpt4 book ai didi

functional-programming - OCaml:首先应用第二个参数(高阶函数)

转载 作者:行者123 更新时间:2023-12-04 08:42:32 25 4
gpt4 key购买 nike

我这样定义了一个高阶函数:

val func : int -> string -> unit

我想通过两种方式使用这个功能:

other_func (func 5)
some_other_func (fun x -> func x "abc")

即,通过使用已定义的参数之一创建函数。但是,第二种用法不如第一种用法简洁易读。有没有更易读的方法来传递第二个参数来创建另一个函数?

最佳答案

在 Haskell 中,有一个函数 flip 可以做到这一点。你可以自己定义:

let flip f x y = f y x

那么你可以说:

other_func (func 5)
third_func (flip func "abc")

Flip 在 Jane Street Core 中定义为 Fn.flip。它在 OCaml Batteries Included 中定义为 BatPervasives.flip。 (换句话说,每个人都同意这是一个有用的功能。)

关于functional-programming - OCaml:首先应用第二个参数(高阶函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23228172/

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