Запитання з тегом «lambda»

НЕ ВИКОРИСТОВУЙТЕ для обслуговування AWS (використовуйте [aws-lambda] для цих питань!) Лямбди - це анонімні функції або закриття в мовах програмування, таких як Lisp, C #, C ++, Lua, Python, Ruby, JavaScript або Java. (Також лямбда-вираз.)

8
Постачальник Java 8 з аргументами в конструкторі
Чому постачальники підтримують лише конструктори без аргументів? Якщо присутній конструктор за замовчуванням, я можу зробити це: create(Foo::new) Але якщо єдиний конструктор бере рядок, я повинен зробити це: create(() -> new Foo("hello"))

4
У чому різниця між Func <рядок, рядок> та делегатом?
Я бачу делегатів у двох формах: A. Func&lt;string, string&gt; convertMethod = lambda B. public delegate string convertMethod(string value); Я не знаю, яка насправді різниця між цими двома. Вони обоє делегати? Я вважаю, що перший використовував би лямбда, а другий повинен був мати метод, щоб насправді виконати роботу. Я теж можу …
81 c#  asp.net  delegates  lambda 

5
Відповідний лямбда-вираз "нічого не робити" у python?
Іноді я виявляю бажання змусити заповнювач "нічого не робити" лямбда-вирази, подібні до висловлювання: def do_nothing(*args): pass Але наступний синтаксис є незаконним, оскільки лямбда-вирази намагаються повернути те, що є після двокрапки, і ви не можете повернути pass. do_nothing = lambda *args: pass Тож мені було цікаво, чи наведений нижче вираз є …
80 python  lambda 

3
Використання GroupBy, Count і Sum у виразів LINQ Lambda
У мене є колекція коробок із властивостями ваги, обсягу та власника. Я хочу використовувати LINQ для отримання узагальненого списку (за власником) інформації про поле напр **Owner, Boxes, Total Weight, Total Volume** Jim, 5, 1430.00, 3.65 George, 2, 37.50, 1.22 Хтось може показати мені, як це зробити за допомогою лямбда-виразів?
78 linq  count  lambda  group-by  sum 

3
Чи є спосіб порівняти лямбди?
Скажімо, у мене є Перелік об’єктів, які були визначені за допомогою лямбда-виразів (закриття). Чи є спосіб їх перевірити, щоб їх можна було порівняти? Код, який мене найбільше цікавить, це List&lt;Strategy&gt; strategies = getStrategies(); Strategy a = (Strategy) this::a; if (strategies.contains(a)) { // ... Повний код import java.util.Arrays; import java.util.List; public …
78 java  lambda  java-8 

1
Неможливо використовувати лямбда-вираз як аргумент для динамічно відправленої операції без попередньої передачі його до типу делегата або дерева виразів
Я працюю з .NET4.5 та VS2013, у мене є цей запит, який отримує dynamicрезультат від db. dynamic topAgents = this._dataContext.Sql( "select t.create_user_id as \"User\", sum(t.netamount) as \"Amount\" from transactiondetail t where t.update_date &gt; sysdate -7 group by t.create_user_id") .QueryMany&lt;dynamic&gt;(); Наступний оператор виходить з помилки компіляції, Cannot use a lambda expression …
78 c#  linq  lambda  .net-4.5 

2
Як назвати закриття, яке є змінною класу?
class MyClass { var $lambda; function __construct() { $this-&gt;lambda = function() {echo 'hello world';}; // no errors here, so I assume that this is legal } } $myInstance = new MyClass(); $myInstance-&gt;lambda(); //Fatal error: Call to undefined method MyClass::lambda() Отже, який правильний синтаксис для досягнення змінних класу?

3
Використання лямбда-виразу замість аргументу IComparer
Чи можливо за допомогою C # передавати лямбда-вираз як аргумент IComparer у виклику методу? наприклад щось подібне var x = someIEnumerable.OrderBy(aClass e =&gt; e.someProperty, (aClass x, aClass y) =&gt; x.someProperty &gt; y.SomeProperty ? 1 : x.someProperty &lt; y.SomeProperty ? -1 : 0); Я не можу змусити це скомпілювати, тому я …
78 c#  lambda  icomparer 

3
Collectors.toMap () keyMapper - більш стислий вираз?
Я намагаюся придумати більш стислий вираз для параметра функції "keyMapper" у наступному Collectors.toMap()виклику: List&lt;Person&gt; roster = ...; Map&lt;String, Person&gt; map = roster .stream() .collect( Collectors.toMap( new Function&lt;Person, String&gt;() { public String apply(Person p) { return p.getLast(); } }, Function.&lt;Person&gt;identity())); Здається, я мав би змогу вбудувати його за допомогою лямбда-виразу, але …

2
Find () та First () видає винятки, як замість цього повернути null?
Чи існує метод лямбда-пошуку linq, який повертає null, замість того, щоб видавати виняток, під час пошуку в списку? Моє поточне рішення є приблизно таким: (щоб уникнути викидів) if (list.Exists(x =&gt; x.Foo == Foo)) { var listItem = list.Find(x =&gt; x.Foo == Foo); } Просто неприємно повторювати вираз. Щось на зразок …
77 c#  .net  linq  lambda 

3
Чому змінну const іноді не потрібно фіксувати в лямбда-звуці?
Розглянемо наступний приклад: #include &lt;cstdlib&gt; int main() { const int m = 42; [] { m; }(); // OK const int n = std::rand(); [] { n; }(); // error: 'n' is not captured } Чому мені потрібно захоплювати nв другій лямбді, а не mв першій лямбді? Я перевірив розділ …


10
Як отримати MethodInfo посилання на метод Java 8?
Будь ласка, подивіться на такий код: Method methodInfo = MyClass.class.getMethod("myMethod"); Це працює, але ім'я методу передається як рядок, тому це буде скомпільовано, навіть якщо myMethod не існує. З іншого боку, Java 8 вводить функцію посилання на метод. Це перевіряється під час компіляції. Можна скористатися цією функцією, щоб отримати інформацію про …

5
Тип повернення лямбди може бути виведений за значенням, що повертається, то чому не може функція?
#include &lt;iostream&gt; int main(){ auto lambda = [] { return 7; }; std::cout &lt;&lt; lambda() &lt;&lt; '\n'; } Ця програма компілює та друкує 7. Тип повернення лямбда виводиться до цілочисельного типу на основі поверненого значення 7. Чому це неможливо зі звичайними функціями? #include &lt;iostream&gt; auto function(){ return 42; } int …
75 c++  function  c++11  lambda  auto 

4
takeWhile () працює по-різному з flatmap
Я створюю фрагменти з takeWhile, щоб дослідити його можливості. При використанні спільно з flatMap поведінка не відповідає очікуванням. Знайдіть фрагмент коду нижче. String[][] strArray = {{"Sample1", "Sample2"}, {"Sample3", "Sample4", "Sample5"}}; Arrays.stream(strArray) .flatMap(indStream -&gt; Arrays.stream(indStream)) .takeWhile(ele -&gt; !ele.equalsIgnoreCase("Sample4")) .forEach(ele -&gt; System.out.println(ele)); Фактичний результат: Sample1 Sample2 Sample3 Sample5 Очікуваний вихід: Sample1 Sample2 …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.