Part1-curry 附加题


  • 0
    administrators

    根据代码注释编写相应的函数。代码引入了一个支持性质的依赖文件 support.js,源码可见 github,还有已经引入了 Ramda.js。

    参考答案在讨论区。


  • 0
    administrators

    本题答案:

    var _ = R
    
    // 附加题 1:
    // ============
    // 包装数组的 slice 函数,让它变成函数式、柯里化的
    var slice = _.curry(function(start, end, xs){ return xs.slice(start, end); });
    
    
    // 附加题 2:
    // ============
    // 使用 slice 函数定义 take 函数,让它可以获取到一个数组的前 n 个元素。take 函数必须是柯里化的。
    // 例如 ['a', 'b', 'c'] 在 n = 2 的时候,应该返回 ['a', 'b'].
    var take = slice(0)
    

  • 0

    @ScriptOJ 最后一行的分号


  • 0

    感觉这个题意有点难理解。这道题,最开始觉得是想让我用原生的slice方法来写一个柯里化的函数,可是题目代码的上面还写了一个var _ = R,我就晕了,然后我就写成了var slice = _.slice。。。。。。可感觉好像也不对,因为这也太简单了。看了答案才知道,原来这道题是想让我们用_.curry来写


登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待