Questions tagged «lambda»

不要使用AWS服务(对于这些问题,请使用[aws-lambda]!)Lambda是匿名函数或编程语言(例如Lisp,C#,C ++,Lua,Python,Ruby,JavaScript或Java)中的闭包。(也就是lambda表达式。)

6
在C#中,什么是单子?
这些天有很多关于单子的讨论。我已经阅读了几篇文章/博客文章,但是对于他们的例子我无法走得太远,无法完全理解这个概念。原因是monad是一种功能语言概念,因此示例使用的是我未曾使用过的语言(因为我没有深入使用功能语言)。我不能足够深入地理解语法以完全阅读本文……但是我可以告诉您那里有一些值得理解的地方。 但是,我非常了解C#,包括lambda表达式和其他功能。我知道C#仅具有部分功能,因此也许monads无法用C#表示。 但是,肯定可以传达这个概念吗?至少我希望如此。也许您可以提出一个C#示例作为基础,然后描述C#开发人员希望他从那里做些什么,但是不能做,因为该语言缺少功能性的编程功能。这将是很棒的,因为它将传达单子的意图和好处。所以这是我的问题:对C#3开发人员来说,可以给monad最好的解释是什么? 谢谢! (编辑:顺便说一句,我知道SO上至少已经有3个“什么是单子”问题。但是,我也面临着同样的问题...所以这个问题是imo所需要的,因为C#开发人员重点。谢谢。)
189 c#  c#-3.0  lambda  monads 

9
Java 8 Lambda Void参数
假设我在Java 8中具有以下功能接口: interface Action<T, U> { U execute(T t); } 在某些情况下,我需要没有参数或返回类型的操作。所以我写这样的东西: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; 但是,它给了我编译错误,我需要写成 Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;}; 这很丑。有什么方法可以摆脱Void类型参数?
187 java  lambda  java-8  void 

4
如何在Python中使用Lambda进行排序
在Python中,我试图按日期与lambda排序。我无法理解我的错误消息。消息是: <lambda>() takes exactly 1 argument (2 given) 我的电话是 a = sorted(a, lambda x: x.modified, reverse=True)
187 python  lambda 


9
Java SE 8是否具有对或元组?
我正在玩Java SE 8中的惰性函数操作,我想要一个对对/元组map的索引,然后基于第二个元素,最后只输出索引。i(i, value[i])filtervalue[i] 我还必须忍受这一点吗:Java中的C ++ Pair <L,R>等效项是什么?在lambdas和stream的大胆新时代中? 更新:我提供了一个相当简化的示例,该示例在以下答案之一中提供了@dkatzel提供的简洁解决方案。但是,它不能一概而论。因此,让我添加一个更一般的示例: package com.example.test; import java.util.ArrayList; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { boolean [][] directed_acyclic_graph = new boolean[][]{ {false, true, false, true, false, true}, {false, false, false, true, false, true}, {false, false, false, true, false, true}, {false, …

3
每次执行时,lambda表达式都会在堆上创建一个对象吗?
当我使用Java 8的新语法糖遍历集合时,例如 myStream.forEach(item -> { // do something useful }); 这不等同于下面的“旧语法”代码段吗? myStream.forEach(new Consumer<Item>() { @Override public void accept(Item item) { // do something useful } }); 这是否意味着Consumer每次迭代集合时都会在堆上创建一个新的匿名对象?这需要多少堆空间?它对性能有什么影响?这是否意味着在遍历大型多级数据结构时,我宁愿将旧样式用于循环?
182 java  lambda  java-8 

9
如何使用Java8 lambda反向排序流?
我正在使用Java lambda对列表进行排序。 如何以相反的方式对其进行排序? 我看到了这篇文章,但是我想使用java 8 lambda。 这是我的代码(我用* -1)作为hack Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator<File>() { public int compare(File o1, File o2) { int answer; if (o1.lastModified() == o2.lastModified()) { answer = 0; } else if (o1.lastModified() > o2.lastModified()) { answer = 1; } else { answer = -1; } …

6
使用'key'和lambda表达式的python max函数
我来自OOP背景,尝试学习python。我正在使用max使用lambda表达式返回列表中Player具有最大类型的实例的函数。totalScoreplayers def winner(): w = max(players, key=lambda p: p.totalScore) 该函数正确返回Player具有maximum 类型的实例totalScore。我对以下三件事感到困惑: 该max功能如何工作?它正在采取什么论点?我查看了文档,但听不懂。 keymax函数中关键字的用途是什么?我知道它也用于sort功能上下文 lambda表达式的含义?如何阅读它们?它们如何运作? 这些都是非常笨拙的概念性问题,但可以帮助我理解语言。如果您可以提供示例进行解释,将有所帮助。谢谢
180 python  function  lambda 

1
局部函数与Lambda C#7.0
我正在看C#7.0中的新实现,我发现它们实现了本地函数很有趣,但是我无法想象这样一种情况:本地函数比lambda表达式更可取,两者之间有什么区别。 我确实知道lambda是anonymous函数,而局部函数不是,但是我无法弄清楚实际情况,其中local函数比lambda表达式有优势 任何示例将不胜感激。谢谢。
178 c#  function  lambda  c#-7.0 


5
无法在Lambda表达式中使用ref或out参数
为什么不能在lambda表达式中使用ref或out参数? 我今天遇到了错误,找到了解决方法,但是我仍然很好奇为什么这是编译时错误。 CS1628:无法在匿名方法,lambda表达式或查询表达式中使用ref或out参数'parameter' 这是一个简单的例子: private void Foo() { int value; Bar(out value); } private void Bar(out int value) { value = 3; int[] array = { 1, 2, 3, 4, 5 }; int newValue = array.Where(a => a == value).First(); }
173 c#  lambda 

7
如何将字符串转换为其等效的LINQ表达式树?
这是原始问题的简化版本。 我有一个叫Person的课: public class Person { public string Name { get; set; } public int Age { get; set; } public int Weight { get; set; } public DateTime FavouriteDay { get; set; } } ...然后说一个实例: var bob = new Person { Name = "Bob", Age = 30, Weight = …
173 c#  lambda  antlr  dsl  predicate 

2
为什么与普通函数相比,编译器可以更好地优化lambda?
The C++ Standard Library (Second Edition)Nicolai Josuttis 在他的书中指出,与普通函数相比,编译器可以更好地优化lambda。 此外,C ++编译器比常规函数更好地优化了lambda。(第213页) 这是为什么? 我认为在进行内联时,应该不再有任何区别。我能想到的唯一原因是,编译器可能具有更好的lambda本地上下文,这样可以做出更多的假设并执行更多的优化。

15
Java 8:Lambda-Streams,按方法进行过滤(异常)
我在尝试Java 8的Lambda表达式时遇到问题。通常它可以正常工作,但是现在我有抛出IOException的方法。最好查看以下代码: class Bank{ .... public Set<String> getActiveAccountNumbers() throws IOException { Stream<Account> s = accounts.values().stream(); s = s.filter(a -> a.isActive()); Stream<String> ss = s.map(a -> a.getNumber()); return ss.collect(Collectors.toSet()); } .... } interface Account{ .... boolean isActive() throws IOException; String getNumber() throws IOException; .... } 问题是,它无法编译,因为我必须捕获isActive-和getNumber-Methods的可能异常。但是,即使我显式使用了如下所示的try-catch-Block,它仍然无法编译,因为我没有捕获到Exception。因此,或者JDK中存在错误,或者我不知道如何捕获这些异常。 class Bank{ .... //Doesn't compile …

5
LINQ:“包含”和一个Lambda查询
我有一个List<BuildingStatus>电话buildingStatus。我想检查它是否包含其字符代码(由返回GetCharCode())等于某个变量的状态v.Status。 遵循下面的(非编译)代码,有某种方法可以做到这一点? buildingStatus.Contains(item => item.GetCharValue() == v.Status)
168 c#  .net  list  linq  lambda 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.