我试图用Lamdas简化我的对象创建。
ScriptCommand cmd = new ScriptCommand() {
@Override
public void run(double deltaTime) {
// some logic here...
}
};
addCmd(cmd);
ScriptCommand cmd = (deltaTime) -> {
// some logic here...
};
addCmd(cmd);
ScriptCommand
如下所示:
public abstract class ScriptCommand {
private boolean completed = false;
public abstract void run(double deltaTime);
protected void complete() {
completed = true;
}
public boolean isCompleted() {
return completed;
}
}
示例:
@FunctionalInterface // Optional
interface ScriptCommand {
void run(double deltaTime);
}
public static void main(String[] args) {
ScriptCommand command = (deltaTime) -> System.out.println(deltaTime);
// execute code
command.run(3);
// if you want to call addCmd(ScriptCommand)
addCmd(command);
addCmd((deltaTime) -> System.out.println(deltaTime));
}
产出:3.0
对于定义一个简单的函数, Python 还提供了另外一种方法,即使用本节介绍的 lambda 表达式。 lambda 表达式,又称 匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。 lambda 表达式的语法格式如下: name = lambda [list] : 表达式 其中,定义 lambda 表达式,必
匿名函数 在Go中函数也是值,程序中可以声明一个函数类型的变量,将函数作为参数传递。声明函数为值的变量(匿名函数:可赋值个变量,也可直接执行) pro04_1_2_1.go package main import ( "fmt" ) //求矩形的面积 func main() { myfun := func(x int, y int) int { retur
问题内容: 我在Java 8映射操作中传递了一个Function,Intellij告诉我可以将其替换为lambda表达式。但是我不知道如何在不创建中间对象结构的情况下做到这一点。 这是我的工作: 我认为Intellij建议我这样做: 我不知道一种干净的方法来获取在匿名函数中检索到的objectType.getTempUrl()。getFullUrl()部分,有什么建议吗? 问题答案: 你总是可以写
问题内容: 众所周知,使用JavaScript创建匿名对象很容易,就像下面的代码一样: 输出: 可以在PHP中应用相同的技术吗?我们可以在PHP中创建匿名对象吗? 问题答案: 已经有好几年了,但是我认为我需要保持最新信息! 从PHP 7开始,可以创建匿名类,因此您可以执行以下操作: 您可以在手册中详细了解 但是我不知道它的实现与JavaScript有多么相似,因此JavaScript和PHP中的匿
本文向大家介绍python lambda表达式(匿名函数)写法解析,包括了python lambda表达式(匿名函数)写法解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python lambda表达式(匿名函数)写法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 还有很多写法: ##lambda只能用一行表示,不能自己创建表
问题内容: 我有采用SQL where子句的函数,我想知道是否有一种方法可以使它们全部成为强类型。有没有办法采用lambda表达式,例如=> a.AgencyID == id并将其转换为字符串where子句?就像“ AgencyID =’idValue’”一样? 谢谢! 问题答案: 您可以将lambda函数转换为表达式树,然后遍历该树以构建您的字符串。