gpt4 book ai didi

groovy - 如何在 Groovy 中柯里化(Currying)两个闭包?

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

我有一个Java方法:

void copy(Object src, Object dest);

我在 Groovy 中使用它:

def copyGroovy = { p1, p2 -> copy(p1,p2) }
def copyFixP1 = { p1 -> copyGroovy.curry(p1) }
def cp = // How to define this?

如何在 Groovy 中编写调用,使其看起来像:

cp src dest

有什么想法吗?

最佳答案

您不能像在 Haskell(或其他函数式语言)中那样使用空格分隔的参数编写调用。相反,你需要写:

copyFixP1(src)(dst)

此外,您将第二个变量称为 copyFixP1,但实际上并未修复 p1copyFixP1 仍然需要一个参数。修复方法是显式设置 copyGroovy 的第一个参数,例如 'sourcePath',如下所示:

def copyFixedSrc = copyGroovy.curry('sourcePath')

但是你确实对它进行了柯里化(Currying),所以我认为 copyFixP1 就是你想要的 cp

关于groovy - 如何在 Groovy 中柯里化(Currying)两个闭包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50630886/

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