小编Nai*_*per的帖子

具有多个参数的Java 8的Function.Function

我读了很多关于如何在Java 8中轻松定义lambda的例子.这个lambda总是有一个参数,如f1:

Function<Integer,Integer> f1 = (x) -> Math.pow(x,2);
Run Code Online (Sandbox Code Playgroud)

当然,你可以扩展身体像f2:

Function<Integer,Integer> f2 = (x) -> {if (x < 0)  return 0;
                                       else return Math.pow(x,2);};
Run Code Online (Sandbox Code Playgroud)

但我找不到一种方法来定义一个具有可变数量的参数的lambda,如f3:

Function<Integer,Integer,Integer> f3 = (x,y) -> {return x + y};
Run Code Online (Sandbox Code Playgroud)

或没有参数如f4:

Function<Double> f4 = () -> {return Math.random()};
Run Code Online (Sandbox Code Playgroud)

我几乎可以肯定,你可以定义自己的功能界面(即通常创建一个新的文件)制定f3f4,但有一些方法可以简单地定义呢?

java lambda java-8

7
推荐指数
3
解决办法
4055
查看次数

Intellij理念中同一项目中的多种语言

在intellij IDEA中,我在同一个项目中使用Java和ActionScript.Java SDK是项目的默认设置.当我想在ActionScript中编程时,几个类不可用(例如String).前一点是因为项目没有使用ActionScript SDK,我猜.那么我的问题是:是否可以在同一个IntelliJ IDEA项目中使用多种语言(在本例中为两种语言)?如果答案是"是",那我该怎么办?

提前致谢

java sdk intellij-idea actionscript-3

6
推荐指数
1
解决办法
2872
查看次数

ActionScript包中有多个类?

我已经读过在ActionScript中只能包含一个类.如果您需要帮助程序类,则必须从程序包中编写此类.例:

package {
  public class A {}
}


class B {}
Run Code Online (Sandbox Code Playgroud)

但是,我在adobe网站上找到了以下示例(:http: //help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9e.html):

package flash.xml 
{ 
  class XMLDocument {} 
  class XMLNode {} 
  class XMLSocket {} 
}
Run Code Online (Sandbox Code Playgroud)

在下面的网页(http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html)中,他们说你只能用文件写一个包的类:

// SampleCode.as file 
package samples{ 
  public class SampleCode {} 
} 

// CodeFormatter.as file 
package samples { 
   class CodeFormatter {}
}
Run Code Online (Sandbox Code Playgroud)

然后我的结论是:你不能按文件写一个包的多个类,对吧?这种限制只是为了促进AS3的良好实践,对吧?

对不起,如果这个问题太简单了.

actionscript packages class

5
推荐指数
1
解决办法
3830
查看次数

C指针(始终)是否从有效的地址存储器开始?

C指针(始终)是否从有效的地址存储器开始?例如,如果我有以下代码:

int *p;
*p = 5;
printf("%i",*p); //shows 5
Run Code Online (Sandbox Code Playgroud)

为什么这段代码起作用?根据我读过的书,他们说一个指针始终需要一个有效的地址存储器,并给出以下类似的示例:

int *p;
int v = 5;  
p = &v;
printf("%i",*p); //shows 5
Run Code Online (Sandbox Code Playgroud)

c memory pointers

1
推荐指数
1
解决办法
97
查看次数

C++ 函数定义中的“Type&amp;”与“Type*”

我理解指针概念 ( int*),但我无法理解,int&因为它们给出了相同的结果。究竟是int &data什么意思?

void add1(int *data){
  (*data)++;
}

void add2(int &data){
  data++;
}

int main()
{
  int i=0;

  add1(&i);
  printf ("value i = %d\n",i) // show 1

  add2(i);
  printf ("value i = %d\n",i); // show 2

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers reference

0
推荐指数
1
解决办法
2609
查看次数

如何在JavaScript中从另一个调用一个构造函数?

这个问题是相同的:[ 如何在Java中从另一个调用一个构造函数?,但使用JavaScript。

我读到JavaScript在一个类中不支持构造函数的多个声明,这是真的吗?

那么,我可以实现以下代码吗?

class A {
  constructor(a,b){
    console.log([a,b]);
  }

  constructor(obj) {
    console.log(obj.a,obj.b);
  }
}

let x1 = new A(2,4);
let x2 = new A({a:2,b:4});
Run Code Online (Sandbox Code Playgroud)

回到最初的问题:

class A {
  constructor(a,b){
    console.log(a+b);
  }

  constructor(obj) {
    this(obj.a,obj.b);
  }
}

let x1 = new A(2,4);
let x2 = new A({a:2,b:4});
Run Code Online (Sandbox Code Playgroud)

如果没有,那么最“透明”的设计模式是什么?

javascript constructor class

0
推荐指数
1
解决办法
30
查看次数