Questions tagged «lambda»

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

8
Lambda捕获作为const参考吗?
是否可以通过const引用在Lambda表达式中捕获? 我希望下面标记的作业失败,例如: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string = "foo"; for_each( &strings[0], &strings[num_strings], [&best_string](const string& s) { best_string = s; // this should fail } ); return …
166 c++  c++11  lambda  c++14 


16
如何在.Net中的lambda表达式中发音“ =>”
我很少遇到其他程序员! 当我第一次看到令牌时,我的想法是“暗示”,因为这就是它在数学证明中的读法,但这显然不是它的意义。 因此,我该如何说或读“ =>”,如: IEnumerable<Person> Adults = people.Where(p => p.Age > 16) 还是有一种商定的说法?
160 c#  .net  lambda  conventions 


5
如何序列化lambda?
如何优雅地序列化lambda? 例如,下面的代码抛出NotSerializableException。如何在不创建SerializableRunnable“虚拟”界面的情况下进行修复? public static void main(String[] args) throws Exception { File file = Files.createTempFile("lambda", "ser").toFile(); try (ObjectOutput oo = new ObjectOutputStream(new FileOutputStream(file))) { Runnable r = () -> System.out.println("Can I be serialized?"); oo.writeObject(r); } try (ObjectInput oi = new ObjectInputStream(new FileInputStream(file))) { Runnable r = (Runnable) oi.readObject(); r.run(); } }

6
Java Lambda可以有多个参数吗?
在Java中,lambda是否可以接受多种不同类型? 即:单个变量起作用: Function <Integer, Integer> adder = i -> i + 1; System.out.println (adder.apply (10)); Varargs也可以工作: Function <Integer [], Integer> multiAdder = ints -> { int sum = 0; for (Integer i : ints) { sum += i; } return sum; }; //.... System.out.println ((multiAdder.apply (new Integer [] { 1, …
157 java  lambda  java-8 

6
在Lambda中移动捕获
如何在C ++ 11 lambda中通过移动(也称为右值引用)捕获? 我正在尝试写这样的东西: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };

10
Java 8中使用了哪些功能接口?
我在Java 8中遇到了一个新术语:“功能接口”。在使用lambda表达式时,我只能找到它的一种用法。 Java 8提供了一些内置的功能接口,如果我们想定义任何功能接口,则可以使用@FunctionalInterface注释。它将允许我们在接口中仅声明一个方法。 例如: @FunctionalInterface interface MathOperation { int operation(int a, int b); } 除了仅使用lambda表达式以外,它在Java 8中还有什么用? (这里的问题与我问的问题不同。它问的是为什么在使用lambda表达式时我们需要功能接口。我的问题是:为什么功能接口除了lambda表达式之外还有其他用途?)
154 java  lambda  interface  java-8 


5
LINQ表达式中的String.IsNullOrWhiteSpace
我有以下代码: return this.ObjectContext.BranchCostDetails.Where( b => b.TarrifId == tariffId && b.Diameter == diameter || (b.TarrifId==tariffId && !string.IsNullOrWhiteSpace(b.Diameter)) || (!b.TarrifId.HasValue) && b.Diameter==diameter); 当我尝试运行代码时出现此错误: LINQ to Entities无法识别方法'Boolean IsNullOrWhiteSpace(System.String)',并且该方法不能转换为商店表达式。” 我该如何解决这个问题并编写比这更好的代码?

14
使用带有Lambda的JDK8压缩流(java.util.stream.Streams.zip)
在带有lambda b93的JDK 8中,b93中有一个类java.util.stream.Streams.zip可用于对流进行zip处理(这在Dhananjay Nene的Exploring Java8 Lambdas。Part 1教程中进行了说明)。该功能: 创建一个懒惰且顺序的组合Stream,其元素是将两个流的元素组合在一起的结果。 然而,在b98中,这种现象消失了。实际上,在b98的java.util.stream中Streams甚至无法访问该类。 此功能是否已被移走,如果是的话,如何使用b98简洁地压缩流? 我想到的应用程序是此Shen的java实现中的,我在其中替换了zip功能。 static <T> boolean every(Collection<T> c1, Collection<T> c2, BiPredicate<T, T> pred) static <T> T find(Collection<T> c1, Collection<T> c2, BiPredicate<T, T> pred) 具有相当冗长的代码的功能(不使用b98的功能)。

4
在成员函数内部的lambda捕获列表中使用成员变量
以下代码使用gcc 4.5.1编译,但不能使用VS2010 SP1编译: #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,set<int>> group){ i++; cout<<i<<endl; }); } int main() { return 0; } 这是错误: error C3480: 'puzzle::grid': …

3
foreach,带有lambda的array_map和带有静态函数的array_map的性能
这三种方法(都用于将一个数组转换为另一个数组)之间的性能差异(如果有)是什么? 使用 foreach 使用array_map和λ/关闭功能 使用array_map带有“静态”函数/方法 还有其他方法吗? 为了使自己清楚,让我们看一下这些示例,它们都做同样的事情-将数字数组乘以10: $numbers = range(0, 1000); Foreach $result = array(); foreach ($numbers as $number) { $result[] = $number * 10; } return $result; 带有lambda的地图 return array_map(function($number) { return $number * 10; }, $numbers); 具有“静态”功能的地图,作为字符串引用传递 function tenTimes($number) { return $number * 10; } return array_map('tenTimes', $numbers); …

4
了解Java 8中的Spliterator,Collector和Stream
我在理解StreamJava 8中的接口时遇到了麻烦,尤其是与Spliteratorand Collector接口有关的接口。我的问题是我根本无法理解Spliterator和Collector接口的是,作为一个结果,Stream接口仍然有些模糊了我。 Spliterator和和到底是什么Collector,我如何使用它们?如果我愿意写我自己Spliterator或Collector(和可能是我自己Stream在这个过程中),我应该怎样做和不能做? 我阅读了一些分散在网络上的示例,但是由于此处的所有内容仍然是新内容并且随时可能更改,因此示例和教程仍然非常稀疏。

14
C ++ 11中的递归Lambda函数
我是C ++ 11的新手。我正在编写以下递归lambda函数,但无法编译。 sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) return 0; else return term(a) + sum(next(a),b); }; int main(){ std::cout<<sum(1,10)<<std::endl; return 0; } …
143 c++  c++11  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.