小编Ziq*_*iqi的帖子

逗号运算符是否会影响Javascript中的执行上下文?

var a = 1;
var b = {
  a : 2,
  c : function () {
    console.log(this.a);
  }
};

b.c(); // logs 2
(b.c)(); // logs 2
(0, b.c)(); // logs 1
Run Code Online (Sandbox Code Playgroud)

第一个是可以理解的,因为"this"指的是Object"b".但为什么第二个会记录相同的结果呢?我认为"this"应该指向全局执行上下文.第三个,似乎逗号运算符影响执行上下文.

javascript this

28
推荐指数
2
解决办法
892
查看次数

是否有可能在一组上获得无界地图功能?

例如,通过其特征函数表示集合,应该是整数集合

type Set = Int => Boolean  
Run Code Online (Sandbox Code Playgroud)

并且给定了一些set和transform函数,map函数应该是这样的

def map(s: Set, f: Int => Int): Set  
Run Code Online (Sandbox Code Playgroud)

我最初的想法是

def map(s: Set, f: Int => Int): Set = (x: Int) => exists(s, (a: Int) => x == f(a))  
Run Code Online (Sandbox Code Playgroud)

并且我发现在没有在某个特定间隔内迭代以确定是否存在某些"a"的情况下,实现无界版本似乎很难.

是否可以在Scala中实现无界版本?换句话说,无论编程语言如何,理论上都可以获得一个未绑定的版本?

functional-programming scala higher-order-functions

6
推荐指数
0
解决办法
53
查看次数