currying

    0热度

    1回答

    为什么 let arr = [1,2,3,4,5] let filtered = arr.filter { $0 < 3 } 为什么不呢? let filtered = arr.filter(<3) 如果我可以使用操作功能: [1,2,3].sorted(by: >)

    0热度

    1回答

    可以说我有一个服务函数,它接受一个静态参数和第二个自定义参数,它根据注入的控制器而变化。我希望我的控制器/视图调用此服务函数,而不必在控制器中编写自定义方法来传递该自定义参数。我不确定这项技术是否涉及卷曲,调用,绑定或应用。 .service('ExampleSvc', function() { this.call = function(param, controller) {

    0热度

    1回答

    由于下面的代码,我怎么能通过ID到applySaveAsync函数? var then = _.curry(function (f, thenable) { return thenable.then(f); }); var validateAsync = _.flow( function() { return _(someCondition).showE

    3热度

    1回答

    让我们假设我有一个高清这需要多个类型参数: def foo[A, B, C](b: B, c: C)(implicit ev: Writer[A]) 然而,使用目的是类型参数B和C应推断(基于传入参数)。调用者只需要明确指定A(例如,由编译器选择适当的隐式)。不幸的是,Scala只允许调用者指定所有的类型参数或不指定任何类型参数。从某种意义上说,我想要的类型参数要令行禁止: def foo[A][

    0热度

    1回答

    我想将Doubles的流映射到一个方法,该方法需要两个参数,其中一个参数具有默认值。我想使用默认参数,所以我的方法只有1个参数,我需要通过: def pow(x:Double, exponent:Double=2.0) = { math.pow(x,exponent) } 我发现了以下工作,但我不明白为什么: val res = (1 to 100).map(_.toDou

    4热度

    2回答

    我不明白,为什么下面的练习“作品”,在从第一原理哈斯克尔编程: type Subject = String type Verb = String type Object = String data Sentence = Sentence Subject Verb Object deriving (Eq, Show) s1 = Sentence "dogs" "dro

    5热度

    1回答

    我有以下代码。你能向我解释它是如何工作的吗? template<typename Function, typename... Arguments> auto curry(Function func, Arguments... args) { return [=](auto... rest) { return func(args..., rest...); };

    3热度

    3回答

    如何将以下简单的average函数转换为无点形式(使用Ramda)? var _average = function(xs) { return R.reduce(R.add, 0, xs)/xs.length; }; 我现在已经这一段时间,但R.divide功能是扔我送行,因为分子和分母需要评估第一

    4热度

    3回答

    我想使用柯里化在Python中做一个简单的功能添加。我发现这个咖喱装饰者here。 def curry(func): def curried(*args, **kwargs): if len(args) + len(kwargs) >= func.__code__.co_argcount: return func(*args, **kwargs)

    1热度

    2回答

    我是相当新的Scala和我一直在考虑这个功能 def map_tree[A,B](f: A => B)(tree: Tree[A]): Tree[B] = tree match { case Leaf(value) => Leaf(f (value)) case Node(value , l, r) => Node(f (value), map_tree (f) (l