gpt4 book ai didi

language-agnostic - 难道仅仅是避免继承的一种方法吗?

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

因此,我对curring(基于SO问题)的理解是,它允许您部分设置函数的参数并作为结果返回“截断的”函数。

如果您的毛发函数很大,则需要10个参数,如下所示

function (location, type, gender, jumpShot%, SSN, vegetarian, salary) {
//weird stuff
}

并且您想要一个“子集”功能,该功能将允许您处理除 jumpShot%以外的所有预设,您是否不应该打破一个继承自原始功能的类呢?

我想我正在寻找的是这种模式的用例。谢谢!

最佳答案

在javascript中,我确实使用了回调函数(因为从调用方调用它们后,不能将它们传递给任何参数)

所以像这样:

...
var test = "something specifically set in this function";
onSuccess: this.returnCallback.curry(test).bind(this),

// This will fail (because this would pass the var and possibly change it should the function be run elsewhere
onSuccess: this.returnCallback.bind(this,test),
...

// this has 2 params, but in the ajax callback, only the 'ajaxResponse' is passed, so I have to use curry
returnCallback: function(thePassedVar, ajaxResponse){
// now in here i can have 'thePassedVar', if
}

我不确定它是否足够详细或连贯...但是通过currying基本上可以让您“预填充”参数并返回一个已经填充了数据的裸函数调用(而不是要求您在其他时候填充该信息)

关于language-agnostic - 难道仅仅是避免继承的一种方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2725811/

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