Articles of lambda

Perché non posso modificare un metodo che contiene un metodo anonimo nel debugger?

Quindi, ogni volta che ho scritto un’espressione lambda o un metodo anonimo all’interno di un metodo che non ho capito bene, sono costretto a ricompilare e riavviare l’intera applicazione o framework di test unitario per correggerlo. Questo è molto fastidioso e alla fine perderò più tempo di quello che ho risparmiato usando questi costrutti in […]

Riferimento metodo istanza e parametri lambda

Ho difficoltà a capire la syntax per un riferimento al metodo, dove ci sono due parametri a e b , e il riferimento è a un metodo di a su b . Ad esempio capisco come Arrays.sort(personArray, comparators::compareByName); è equivalente a Arrays.sort(personArray, (o1, o2) -> comparators.compareByName(o1, o2)); perché in quel caso i parametri lambda corrispondono […]

Come verificare i valori null in un’espressione lambda profonda?

Come posso verificare i null in un’espressione di lamda profonda? Per esempio, ho una struttura di class che è stata annidata in diversi livelli e volevo eseguire il seguente lambda: x => x.Two.Three.Four.Foo Voglio che restituisca null se Due, Tre o Quattro fossero nulli, invece di lanciare System.NullReferenceException. public class Tests { // This test […]

Stampa informazioni di debug sugli errori con espressioni lambda java 8

Voglio usare un metodo statico come setter helper che cattura le eccezioni e stampa le informazioni di debug sull’operazione che non ha funzionato. Non voglio solo i dettagli delle eccezioni. Voglio mostrare quale proprietà è stata impostata in modo che i dettagli aiutino a risolvere rapidamente il problema. Sto lavorando con Java 8. Come devo […]

Ottieni il nome di un metodo usando un’espressione

So che ci sono alcune risposte sul sito su questo e mi scuso se questo è in qualche modo duplicato, ma tutte quelle che ho trovato non fanno quello che sto cercando di fare. Sto cercando di specificare le informazioni sul metodo in modo da poter ottenere il nome in un modo sicuro, non usando […]

Dedicare la firma della chiamata di una lambda o di un arbitrario chiamabile per “make_function”

In alcune situazioni è preferibile essere in grado di cancellare un callable (es. Funzione, puntatore di funzione, istanza di object con operator() , lambda, mem_fn ), ad esempio mem_fn adattatori Boost con C ++ 11 lambda in cui è ansible assegnare una copia e il tipo costruttibile di default è richiesto. std::function sarebbe l’ideale, ma […]

Espressione lambda Java 8 e valori di prima class

Le chiusure di Java 8 sono valori di prima class o sono solo uno zucchero sintattico?

_ => cosa significa questo underscore nelle espressioni Lambda?

Cosa significa un’espressione lambda come _=> expr ? Qual è lo scopo di _ come input per lambda? Esempio: int count = 0; list.ForEach(_ => count += 1);

Lambda variable capture in loop – cosa succede qui?

Sto cercando di capire, cosa succede qui? Che tipo di codice produce il compilatore? public static void vc() { var listActions = new List(); foreach (int i in Enumerable.Range(1, 10)) { listActions.Add(() => Console.WriteLine(i)); } foreach (Action action in listActions) { action(); } } static void Main(string[] args) { vc(); } uscita: 10 10 .. […]

Espressione lambda per convertire l’array / elenco di stringhe su array / elenco di numeri interi

Poiché Java 8 è dotato di potenti espressioni lambda, Vorrei scrivere una funzione per convertire un elenco / array di stringhe in array / elenco di numeri interi, float, doppi ecc. In Java normale, sarebbe semplice come for(String str : strList){ intList.add(Integer.valueOf(str)); } Ma come ottengo lo stesso con un lambda, dato un array di […]