问题标签 [lambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
988 浏览

lisp - 从 s 表达式创建 lambda

我有一个 s 表达式绑定到 Common Lisp 中的一个变量:

现在我想创建一个函数,当调用它时,它会在定义它的范围内评估表达式。我试过这个:

但这两者都会产生一个问题:EVAL 将在顶层评估代码,因此我无法捕获表达式中包含的变量。请注意,我不能将 LET 表单放入 EVAL。有什么解决办法吗?

编辑:所以如果没有解决 EVAL 问题,还能怎么做?

编辑:有一个关于我到底想做什么的问题。我正在编写一个编译器。我想接受在定义表达式的词法环境中关闭变量的 s 表达式。将它写成宏可能确实更好。

0 投票
15 回答
155375 浏览

function - “闭包”和“lambda”有什么区别?

有人可以解释一下吗?我了解它们背​​后的基本概念,但我经常看到它们可以互换使用,我感到困惑。

既然我们在这里,它们与常规函数有何不同?

0 投票
4 回答
665 浏览

c# - 重构以消除 Lambda 表达式中的重复

这两种方法表现出重复:

我该如何重构以消除这种重复?

更新:糟糕,我忽略了一个重点。FooEditDto 是 FooDto 的子类。

0 投票
3 回答
6796 浏览

linq - 使用 Linq 或 Lambda 表达式检查复杂对象中的重复项

我刚刚开始学习 linq 和 lambda 表达式,它们似乎非常适合在复杂的对象集合中查找重复项,但我有点困惑,希望有人能帮助我回到快乐编码的道路上.

我的对象的结构类似于 list.list.uniqueCustomerIdentifier

我需要确保整个复杂对象中没有重复的 uniqueCustomerIdentifier。如果有重复项,我需要确定哪些重复项并返回重复项列表。

0 投票
3 回答
15128 浏览

c# - 为什么在 lambda 表达式中使用迭代变量不好

我只是在写一些快速代码并注意到这个编译器错误

在 lambda 表达式中使用迭代变量可能会产生意想不到的结果。
相反,在循环中创建一个局部变量并将迭代变量的值分配给它。

我知道这意味着什么,我可以轻松修复它,没什么大不了的。
但我想知道为什么在 lambda 中使用迭代变量是个坏主意?
我以后会引起什么问题?

0 投票
5 回答
108196 浏览

c# - 如何转换列表中的所有字符串使用 LINQ 小写?

昨天我在 StackOverflow 上的一个回复中看到了一个代码片段,这让我很感兴趣。是这样的:

我希望我可以使用它将 myList 中的所有项目转换为小写。但是,它不会发生......运行后, myList 中的大小写没有改变。

所以我的问题是是否有一种方法,使用 LINQ 和 Lambda 表达式以类似于此的方式轻松迭代和修改列表的内容。

谢谢,马克斯

0 投票
10 回答
18599 浏览

c# - 用委托或 lambda 包装秒表计时?

我正在编写这样的代码,做一些快速而肮脏的时间:

当然有一种方法可以将这段时间代码称为花哨的 .NET 3.0 lambda,而不是(上帝禁止)剪切和粘贴几次并替换DoStuff(s)DoSomethingElse(s)?

我知道它可以做到,Delegate但我想知道 lambda 方式。

0 投票
2 回答
13337 浏览

c# - C# Action lambda 代码块的限制

C# .NET 3.5。我试图了解 C# Action 对象的内在限制。在 lamda(实际上是 lamdas 吗?)中,我们可以执行赋值、调用函数,甚至执行三元运算,但不能执行多语句运算。

这是因为单语句执行只是将其包装在委托中的语法糖吗?为什么下面的第一个示例不起作用?

编辑: Grr,对不起噪音。本来,我有

这引发了编译错误,但在发布之前我想我会尝试将它包装在大括号中

这也引发了编译错误,所以我得出结论认为这是同样的问题。但是,如果我在大括号后面加上一个分号,它就可以了

对不起,噪音!

编辑 2:感谢 cfeduke,您在我上面的编辑同时发布 - 继续并标记为答案。

0 投票
2 回答
331 浏览

linq - .NET 3.5 (lambdas, Linq) 是如何演变的

我记得大约一年前,Scott Hanselman(可能是 scott Guthrie)读过一篇关于 Linq 如何演变的文章。它记得它表明任何匿名类型都会导致 lambda 表达式,然后以某种方式导致 Linq。我似乎无法在谷歌上找到它。还有人记得这个帖子吗?如果是这样,你能发一下吗?

0 投票
4 回答
16169 浏览

c# - Lambda 表达式树解析

我正在尝试在项目中使用 Lambda 表达式来映射到第三方查询 API。所以,我正在手动解析表达式树。

如果我传入一个 lambda 表达式,例如:

一切正常。

但是,如果我的 lambda 表达式看起来像:

使用 .NET 调试器,我看不到该功能的实际价值。相反,我看到了类似的东西:

是什么赋予了?当我尝试将表达式的右侧作为字符串抓取时,我得到(value(ASP.usercontrols_myaspusercontrol_ascx).myaspdropdown.SelectedValue)的不是实际值。我如何获得实际价值?