lambda 相关问题

编程语言中的匿名函数或闭包,如Lisp,C#,C ++,Lua,Python,Ruby,JavaScript或Java。 (另外,lambda表达式。)

Excel Lambdas - 在函数参数中提供 lambda 向量

在新函数 GroupBy 和 PivotBy 中,lambda 函数参数描述如下: 用于聚合 val 的显式或 eta 简化 lambda(SUM、PERCENTOF、AVERAGE、COUNT 等)...

回答 1 投票 0

Java 泛型:使用 Stream.toArray() 时编译失败

给定一个简单的泛型类: 私有静态类Container { 私有列表aList; 私有 T aValue; 私有容器(列表 aList,T aValue){ 这个.a...

回答 1 投票 0

Java 泛型:Stream toArray()

给定一个简单的泛型类: 私有静态类Container { 私有列表aList; 私有 T aValue; 私有容器(列表 aList,T aValue){ 这个.a...

回答 1 投票 0

尝试承担角色的 lambda 函数出现错误

这是 lambda 基础设施: const lambdaFn = new NodejsFunction(this, "TestSTSLambda", { 内存大小:1024, 超时:cdk.Duration.秒(30), 运行时:运行时。

回答 1 投票 0

foreach、带有 lambda 的 array_map 和带有静态函数的 array_map 的性能

这三种方法(都用于将一个数组转换为另一个数组)之间的性能差异是什么(如果有)? 使用foreach 将 array_map 与 lambda/闭包函数结合使用 使用

回答 6 投票 0

主函数无法计算值链中的最大数量

以下程序的函数没有返回正确的值。它将产生不正确的起始数值和不正确的计数值。 countCollatzChain 函数未返回正确的值。福...

回答 1 投票 0

ExprTk 自定义 lambda 函数和默认参数

之前ExprTk表中添加了一个随机函数: exprtk::symbol_table 符号表; std::random_device rd; std::mt19937 gen(rd()); std::uniform_real_distribution...

回答 1 投票 0

数组的 Lambda 绑定表达式

我目前正在使用 lambda 表达式编写动态 select 子句,但陷入了必须处理嵌套集合的困境。 例如 : A级 { 公共字符串属性...

回答 1 投票 0

CompletableFuture.supplyAsync lambda 中缺少 return 语句

我有这个Java代码: 公共 ResponseEntity getByTokenResource(HttpHeaders 标头,字符串有效负载){ 返回调用(标头,有效负载); } ………… @TimeLimiter(name = "ge...

回答 1 投票 0

为什么这个 lambda 会泄漏内存?

我的项目中有如下代码: 类A类{ ClassA(int i) : a(i) {}; 私人的: 整数a; }; 结构体B类{ std::shared_ptr classASharedPointer; }; 结构

回答 1 投票 0

如何使 lambdas[0](10) 等于 19?

用于计算加法的简单 lambda 函数数组 动态中的一个数字。 def lambda_array(): # 初始化一个空数组 lambda_methods = [] # 实现一个 for loo...

回答 1 投票 0

是否可以使 lambda 具有动态闭包作用域,具体取决于对象

我有一个想法,用 C++ 创建一些 Python 记录器。关键是可以创建具有嵌套名称的子代。 我写了这样的东西(简化的例子): #

回答 1 投票 0

在 FastAPI Lambda 应用程序中禁用 AWS X-ray

我们有一个用 FastAPI 编写的 Lambda 应用程序,并且我们已为其启用了 X 射线。然而,我们决定转向 Datadog,现在我们不再需要 X 射线。然而,我们发现实际上很难

回答 2 投票 0

嵌套 lambda 中的本地 constexpr 隐式捕获失败无法在 msvc 上编译

在解决这个问题时,一个可能的答案暗示了嵌套的 lambda,其中内部的 lambda 隐式捕获了外部的 constexpr 局部变量。这是一个mre: int main() { []() {...

回答 1 投票 0

如何强制 lambda 函数返回一个对象而不是对象上最后一个方法的 None 值?

有时我无法在对象上使用 lambda 函数,因为应用于该对象的最后一个方法返回 None。能够返回对象本身而不是方法返回有什么技巧...

回答 1 投票 0

使用编译表达式的 C# 反射属性 Getter

我想创建一个编译表达式,而不是直接使用反射来获取对象的属性。 使用反射会是这样一些。是否可以创建一个等效的编译版本

回答 1 投票 0

Java 8 可选:ifPresent 返回对象或Else抛出异常

我正在尝试做这样的事情: 私有字符串 getStringIfObjectIsPresent(可选对象){ 对象.ifPresent(() ->{ 字符串结果=“结果”; ... 我正在尝试做这样的事情: private String getStringIfObjectIsPresent(Optional<Object> object){ object.ifPresent(() ->{ String result = "result"; //some logic with result and return it return result; }).orElseThrow(MyCustomException::new); } 这是行不通的,因为 ifPresent 将 Consumer 函数接口作为参数,其中有 void accept(T t)。它不能返回任何值。还有其他办法吗? 实际上您正在搜索的是:Optional.map。您的代码将如下所示: object.map(o -> "result" /* or your function */) .orElseThrow(MyCustomException::new); 如果可以的话,我宁愿省略通过Optional。最后,在这里使用 Optional 你什么也得不到。另一种稍微不同的变体: public String getString(Object yourObject) { if (Objects.isNull(yourObject)) { // or use requireNonNull instead if NullPointerException suffices throw new MyCustomException(); } String result = ... // your string mapping function return result; } 如果您由于另一次调用而已经拥有 Optional-对象,我仍然建议您使用 map-方法,而不是 isPresent 等,原因只有一个,我发现它更具可读性(显然是一个主观决定;-))。 这里有两个选项: 将 ifPresent 替换为 map 并使用 Function 代替 Consumer private String getStringIfObjectIsPresent(Optional<Object> object) { return object .map(obj -> { String result = "result"; //some logic with result and return it return result; }) .orElseThrow(MyCustomException::new); } 使用isPresent: private String getStringIfObjectIsPresent(Optional<Object> object) { if (object.isPresent()) { String result = "result"; //some logic with result and return it return result; } else { throw new MyCustomException(); } } 请改用 map 功能。它转换可选值内的值。 像这样: private String getStringIfObjectIsPresent(Optional<Object> object) { return object.map(() -> { String result = "result"; //some logic with result and return it return result; }).orElseThrow(MyCustomException::new); } 我更喜欢在确保值可用后进行映射 private String getStringIfObjectIsPresent(Optional<Object> object) { Object ob = object.orElseThrow(MyCustomException::new); // do your mapping with ob String result = your-map-function(ob); return result; } 或一个衬垫 private String getStringIfObjectIsPresent(Optional<Object> object) { return your-map-function(object.orElseThrow(MyCustomException::new)); } 你举的例子不是一个好例子。可选值不应作为参数发送到另一个函数中。好的做法是始终将非空参数发送到函数中。这样我们就始终知道输入不会为空。这可以减少我们的代码不确定性。 从 Java 9 开始,我们有了 ifPresentOrElse()。不幸的是,第二个参数是 Runnable 而不是 exceptionSupplier。 我们可以添加一个辅助方法来让它变得漂亮。 public <X extends Throwable> Runnable toThrow(Supplier<X> exceptionSupplier) throws X { throw exceptionSupplier.get(); } // Pretty now opt.ifPresentOrElse(obj::setter, toThrow(IllegalStateException::new));

回答 6 投票 0

如何将修饰符应用于表达式

我有一个 XML 文件,这是一个片段: 我有一个 XML 文件,这是一个片段: <response> <data offset="4" length="2" pattern="[%lx]" desc="Hours"/> <data offset="2" length="2" pattern="[%lx]" desc="Minutes"/> <data offset="0" length="2" pattern="[%lx]" desc="Seconds"/> <data offset="6" length="2" pattern="[%lx]" desc="Day"/> <data offset="8" length="2" pattern="[%lx]" desc="Month"/> <data offset="10" length="2" pattern="[%lx]" desc="Year" modifier="+2020"/> </response> 这用于解码代码中的响应,即时间和日期,年份在响应中返回为 04,我想将修饰符应用于该值,我试图使其尽可能灵活和通用. 如何将代码中的修饰符的值作为字符串并将其应用于该值?我的代码: double dblData = 0.0; if (double.TryParse(strData, out dblData) == true) { ... } strData 是一个字符串,在本例中包含 04,如何将另一个名为 strModifier 的变量中的修饰符应用到 strData,使其变为 04+2020,结果为 2024? 我可以用 Lambda 做到这一点吗? using Microsoft.CodeAnalysis.CSharp.Scripting; class Program { static async Task Main(string[] args) { string strData = "04"; string strModifier = "+2020"; int result = (int) await CSharpScript.EvaluateAsync(strData + strModifier); } }

回答 1 投票 0

在requires表达式中捕获局部参数

与函数类似的需求表达式可以使用参数列表引入局部参数。在块作用域定义的 lambda 表达式可能具有不带初始值设定项的捕获。是不是都...

回答 1 投票 0

如何将正在排序的列表中的项目传递给用作排序关键函数的 lambda?

我有一个函数,可以评估它收到的第一个参数的一些参数(此处为项目): def item_fitness( 物品, 健身标准1, 健身标准2 ) -> 整数: ...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.