คำถามติดแท็ก lambda

อย่าใช้บริการ AWS (ใช้ [aws-lambda] สำหรับคำถามเหล่านั้น!) Lambdas เป็นฟังก์ชั่นนิรนามหรือการปิดในภาษาโปรแกรมเช่น Lisp, C #, C ++, Lua, Python, Ruby, JavaScript หรือ Java (เช่นเดียวกันกับแลมบ์ดานิพจน์)

8
ทำไมไม่พิมพ์งานแลมบ์ดา?
ทำไมมันไม่ทำงาน lambda: print "x" นี่ไม่ใช่คำสั่งเดียวหรือเป็นอย่างอื่นใช่ไหม เอกสารดูเหมือนกระจัดกระจายเล็กน้อยในสิ่งที่ได้รับอนุญาตในแลมบ์ดา ...

16
ฉันจะออกเสียง“ =>” ตามที่ใช้ในแลมบ์ดานิพจน์ใน. Net ได้อย่างไร
ฉันไม่ค่อยพบโปรแกรมเมอร์คนอื่นเลย! ความคิดของฉันเมื่อฉันเห็นโทเค็นครั้งแรกคือ "บอกเป็นนัยว่า" เพราะนั่นคือสิ่งที่มันจะอ่านได้ในหลักฐานทางคณิตศาสตร์ แต่นั่นไม่ชัดเจน ดังนั้นฉันจะพูดหรืออ่าน "=>" อย่างไรใน: - IEnumerable<Person> Adults = people.Where(p => p.Age > 16) หรือมีวิธีพูดตกลงกันได้ไหม?
160 c#  .net  lambda  conventions 

6
กรองค่าเฉพาะในกรณีที่ไม่ใช่ค่า null โดยใช้แลมบ์ดาใน Java8
carฉันมีรายชื่อของวัตถุที่พูด ฉันต้องการที่จะกรองรายการนี้ขึ้นอยู่กับพารามิเตอร์บางโดยใช้ Java 8. แต่ถ้าพารามิเตอร์เป็นมันจะพ่นnull NullPointerExceptionจะกรองค่า Null ได้อย่างไร? รหัสปัจจุบันมีดังนี้ requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); นี้พ่นNullPointerExceptionถ้าผลตอบแทนgetName()null

5
แลมบ์ดาเป็นอนุกรมได้อย่างไร
ฉันจะทำให้แลมบ์ดาเป็นอนุกรมได้อย่างไร 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 สามารถมีพารามิเตอร์มากกว่า 1 ตัวได้หรือไม่?
ใน Java เป็นไปได้ไหมที่แลมบ์ดาจะยอมรับหลายประเภทที่แตกต่างกัน? เช่น: ตัวแปรเดียวทำงาน: 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 …
157 java  lambda  java-8 

6
ย้ายการจับในแลมบ์ดา
ฉันจะจับภาพด้วยการย้าย (หรือที่รู้จักกันว่าการอ้างอิง rvalue) ในแลมบ์ดา C ++ 11 ได้อย่างไร ฉันกำลังพยายามเขียนสิ่งนี้: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };

10
ส่วนต่อประสานการทำงานที่ใช้ใน Java 8 คืออะไร?
ฉันเจอคำศัพท์ใหม่ใน Java 8: "functional interface" ฉันเท่านั้นที่สามารถหาหนึ่งใช้ประโยชน์จากมันขณะที่ทำงานกับการแสดงออกแลมบ์ดา Java 8 มีอินเทอร์เฟซการทำงานบางอย่างในตัวและหากเราต้องการกำหนดอินเตอร์เฟสการทำงานใด ๆ เราสามารถใช้@FunctionalInterfaceคำอธิบายประกอบได้ มันจะช่วยให้เราประกาศเพียงวิธีเดียวในอินเทอร์เฟซ ตัวอย่างเช่น: @FunctionalInterface interface MathOperation { int operation(int a, int b); } มีประโยชน์อย่างไรใน Java 8 นอกเหนือจากการทำงานกับการแสดงออกแลมบ์ดา ? (คำถามที่นี่แตกต่างจากที่ฉันถามมันถามว่าทำไมเราถึงต้องมีอินเตอร์เฟซที่ใช้งานได้ในขณะที่ทำงานกับการแสดงออกแลมบ์ดาคำถามของฉันคือ: ทำไมการใช้งานอื่น ๆ
154 java  lambda  interface  java-8 

9
ไวยากรณ์หลังเรียงแล้ว (key = lambda: …)
ฉันไม่เข้าใจไวยากรณ์หลังsorted()อาร์กิวเมนต์: key=lambda variable: variable[0] มันไม่ได้lambdaตามอำเภอใจเหรอ? ทำไมvariableที่ระบุไว้สองครั้งในสิ่งที่ดูเหมือนว่าdict?

5
String.IsNullOrWhiteSpace ใน LINQ Expression
ฉันมีรหัสต่อไปนี้: 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
การบีบอัดสตรีมโดยใช้ JDK8 พร้อม lambda (java.util.stream.Streams.zip)
ใน JDK 8 ที่มีแลมบ์ดา b93 มีคลาสjava.util.stream.Streams.zip ใน b93ซึ่งสามารถใช้ในการสตรีม zip (นี่คือตัวอย่างในบทเรียนExploring Java8 Lambdas ตอนที่ 1 โดย Dhananjay Nene ) ฟังก์ชั่นนี้: สร้างสตรีมรวมที่ขี้เกียจและต่อเนื่องกันซึ่งองค์ประกอบเป็นผลลัพธ์ของการรวมองค์ประกอบของสองสตรีม อย่างไรก็ตามใน b98 นี้ได้หายไป Infact Streamsชั้นไม่ได้สามารถเข้าถึงได้ในjava.util.stream ใน B98 ฟังก์ชั่นนี้ได้ถูกย้ายไปแล้วหรือไม่และถ้าอย่างนั้นฉันจะซิปสตรีมอย่างกระชับโดยใช้ b98 ได้อย่างไร? แอปพลิเคชันที่ฉันมีอยู่ในการใช้งานจาวาของ Shenซึ่งฉันได้แทนที่ฟังก์ชั่น zip ใน static <T> boolean every(Collection<T> c1, Collection<T> c2, BiPredicate<T, T> pred) static <T> T find(Collection<T> c1, Collection<T> …

4
การใช้ตัวแปรสมาชิกในรายการจับแลมบ์ดาภายในฟังก์ชันสมาชิก
โค้ดต่อไปนี้คอมไพล์ด้วย 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; } นี่เป็นข้อผิดพลาด: …

3
ประสิทธิภาพของ foreach, array_map พร้อม lambda และ array_map พร้อมฟังก์ชั่นคงที่
ความแตกต่างของประสิทธิภาพ (ถ้ามี) ระหว่างวิธีการทั้งสามวิธีนี้ทั้งสองใช้เพื่อแปลงอาร์เรย์เป็นอาร์เรย์อื่นได้อย่างไร การใช้ foreach ใช้array_mapกับแลมบ์ดา / ปิดฟังก์ชั่น ใช้array_mapกับฟังก์ชั่น / วิธีการแบบคงที่ มีวิธีอื่นอีกไหม? เพื่อทำให้ตัวเองชัดเจนลองดูตัวอย่างทั้งหมดทำแบบเดียวกัน - คูณอาร์เรย์ของตัวเลขด้วย 10: $numbers = range(0, 1000); แต่ละ $result = array(); foreach ($numbers as $number) { $result[] = $number * 10; } return $result; แผนที่กับแลมบ์ดา return array_map(function($number) { return $number * 10; }, $numbers); แผนที่ด้วยฟังก์ชั่น 'คงที่' ส่งผ่านเป็นการอ้างอิงสตริง …

4
ทำความเข้าใจกับ Spliterator, Collector และ Stream ใน Java 8
ฉันมีปัญหาในการเข้าใจStreamอินเตอร์เฟสใน Java 8 โดยเฉพาะอย่างยิ่งที่เกี่ยวข้องกับSpliteratorและCollectorอินเตอร์เฟส ปัญหาของฉันคือฉันไม่เข้าใจSpliteratorและCollectorอินเทอร์เฟซเลยและด้วยเหตุนี้Streamอินเทอร์เฟซยังค่อนข้างคลุมเครือสำหรับฉัน อะไรคือ a Spliteratorและ a Collectorและฉันจะใช้ได้อย่างไร หากฉันยินดีที่จะเขียนของตัวเองSpliteratorหรือCollector(และอาจเป็นของฉันเองStreamในกระบวนการนั้น) ฉันควรทำอย่างไรและไม่ควรทำอย่างไร ฉันอ่านตัวอย่างกระจัดกระจายไปทั่วเว็บ แต่เนื่องจากทุกอย่างที่นี่ยังใหม่และอาจมีการเปลี่ยนแปลงตัวอย่างและแบบฝึกหัดก็ยังกระจัดกระจายมาก

14
ฟังก์ชัน lambda แบบเรียกซ้ำใน C ++ 11
ฉันใหม่กับ C ++ 11 ฉันกำลังเขียนฟังก์ชั่นแลมบ์ดาแบบเรียกซ้ำ แต่มันไม่ได้รวบรวม 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; …
143 c++  c++11  lambda 

6
แลมบ์ดาชนิดใดเมื่ออนุมานด้วย“ auto” ใน C ++ 11
ฉันเข้าใจว่าแลมบ์ดาเป็นตัวชี้ฟังก์ชั่น เมื่อฉันทำการทดสอบต่อไปนี้ฉันพบว่ามันผิด ( สาธิต ) #define LAMBDA [] (int i) -> long { return 0; } int main () { long (*pFptr)(int) = LAMBDA; // ok auto pAuto = LAMBDA; // ok assert(typeid(pFptr) == typeid(pAuto)); // assertion fails ! } รหัสข้างต้นหายไปจุดใด? ถ้าไม่เช่นtypeofนั้นแลมบ์ดานิพจน์คืออะไรเมื่ออนุมานด้วยautoคำหลัก?
142 c++  lambda  c++11  typeof  auto 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.