Ciao, questo è no.
E bentornato.
Quindi non iniziamo con i lambast.
Qui puoi vedere la lettera greca Lamda che viene usata come rappresentazione per questo argomento nella lezione
introduttiva.
Vedremo un esempio dopo che lambda è stato polarizzato come argomento per aumentare un costruttore
che si aspettava un'istanza del concorrente.
Quindi il lammed out e capsular alla logica per l'ordinamento di alcuni comportamenti è
stato trasmesso sull'espressione lambda su lambda è essenzialmente una funzione che può essere passata in giro.
Non è associato a nessuna classe.
È semplicemente una funzione di per sé che è nella nostra terminologia familiare che un alunno di un morso
di metodo è considerato come una delle caratteristiche più importanti che è stata ordinata nell'8 luglio, che tutti
hanno alcuni elementi di programmazione funzionale per noi.
Come abbiamo discusso in precedenza, abilitare e scrivere più rapidamente e in modo più compatto e pulito prima che le classi
anonime dei lambast venissero usate per eseguire compiti simili di trasmetterle alla funzionalità.
E in questa lezione apprendiamo che la terra non è tassabile e discuteremo anche di come ciò sia
diverso da una demo di Crossus che deve essere parte della lezione di follow-up, in quanto de-selezionata è del tutto
sbagliata.
Quindi, sii paziente e goditi la lezione.
Solo un breve sguardo alla storia dei lambasts Lamb viene dal calcolo Lambda che
è una notazione matematica per funzioni ed è stato introdotto nel 1930 dal famoso matematico Alonzo Church che
era anche un Ph. D. consigliere di Alan Turing che
sappiamo essere considerato il padre dell'informatica e tutte le funzioni nel calcolo lambda sono anonime.
Cioè sono senza nome.
Ed ecco un esempio di espressione del calcolo lambda qui.
X è l'argomento della funzione anonima rappresentata da lambda e il corpo segue il dock
qui.
Il quadrato dell'argomento di input è computerizzato e il famoso scienziato informatico degli anni '50 John McCarthy ha inventato il Lisp
mentre era al MIT e il Lisp è il secondo più antico linguaggio di programmazione di alto livello.
Nel caso in cui non hai sentito parlare di McCarthy è considerato uno dei fondatori dell'intelligenza artificiale.
Sei solo accreditato di coniare quel termine di intelligenza artificiale che sappiamo essere molto difficile in questo
momento.
E se sei interessato puoi leggere di più su di lui su Wikipedia.
Quindi non ha lipless e Lisp è stato progettato per moderare i problemi matematici ed è
stato pesantemente influenzato dal lambda calcolo.
Ed ecco un esempio di funzione lambda a meno che il lambda qui sia usato come un
operatore sono definiti e deve funzionare sotto l'esempio stesso è simile alla funzione lambda che abbiamo visto in precedenza
così altri linguaggi di programmazione funzionale avevano radici nel calcolo lambda sotto la sola programmazione
acquistata usando funzioni.
Non sono sicuro di questi giorni, ma quando ero uno studente laureato nel 2002 ci è stato insegnato Lisp Arnstein come
parte del corso di lingua di programmazione.
Posso ancora ricordare di implementare un gioco chiamato tic tac toe e cinque diversi linguaggi di
programmazione sulle lingue utilizzate.
Questo schema Java Python sul libro sull'implementazione e lo schema è stato veloce perché la sua sintassi era molto diversa da altri linguaggi di
programmazione e lo schema era anche un linguaggio di programmazione funzionale, quindi ho pensato di
condividerlo con voi.
Quindi cos'è esattamente una lambda.
È una funzione anonima, quindi non è e deve solo.
Il vetro ma avanti e indietro deve funzionare come un modo compatto di definire una funzione che può essere
passata, quindi è utile quando vogliamo passarlo su alcune funzionalità e aiuta a farlo in un grafico sullo
sfondo.
Dal momento che può essere passato.
È fondamentalmente un'espressione espressione lambda e questi sono alcuni dei linguaggi che
supportano le espressioni lambda.
Ed ecco la sintassi per il riconoscimento degli allarmi in Java, quindi l'espressione inizia con i parametri
della funzione tra parentesi.
Quindi questi sono i parametri della funzione anonima.
Successivamente l'elenco dei parametri è seguito dal simbolo che viene quindi seguito dal corpo della funzione, così
come qualsiasi metodo il corpo può avere più istruzioni sull'ultima istruzione sarebbe l'istruzione scritta a meno
che la funzione non sia in grado di leggere nulla.
E in alcuni casi sarebbe anche possibile semplificare ulteriormente la sintassi e vedremo presto come
si può fare.
Sotto espressione lambda viene assegnata una variabile il cui tipo è un'interfaccia funzionale di funzione.
Quindi l'esecuzione del problema del tipo di destinazione è una funzione in cui è tipicamente la
variabile sarebbe un parametro del metodo e sappiamo che un'interfaccia funzionale è un'interfaccia che espone un singolo metodo astratto.
Quando si discute e sulle cause, si afferma che tale interfaccia può essere utilizzata per definire una
strategia e un ufficio in classi anonime diverse.
Implementando che questo libro ha le diverse strategie così in modo simile possiamo ora come le diverse espressioni
lambda che agiscono come strategie diverse, quindi normalmente non usano le GUI per le espressioni lambda.
Poiché un'interfaccia di funzione ha un singolo metodo astratto, viene anche chiamata
interfaccia a un metodo astratto come a.
E questo è un esempio della nostra discussione sui capi anonimi e lo abbiamo anche visto nella
lezione introduttiva qui.
Un'istanza di una classe anonima viene passata come concorrente su Chrisette severa o fuori.
Ora vediamo come possiamo sostituire la classe anonima con quella espressione lambda. Quindi, per prima cosa, abbiamo questo blocco
fuori campo sulla necessità di dimenticare l'espressione lambda su un vincolo di spazio.
Qui viene mostrata solo la parte rilevante dell'espressione.
L'espressione lambda è quella di fornire la logica per il comparatore e sappiamo che
l'espressione lambda inizia con i parametri di funzione in modo da avere questo documento che parametro di bombardamento che
prossimo abbiamo l'Eidelson, ma dopo che abbiamo semplicemente il corpo che è identico al corpo nella questione.
Quindi, se stai semplicemente analizzando la funzionalità di come possiamo vedere, è molto più compatto di quanto non debba afferrare
il movimento senza la nuova parola chiave.
Il nome della notte seguente su di esso è anche molto efficiente in quanto non stiamo creando un oggetto qui.
Ora questa espressione lambda può essere ulteriormente semplificata.
Ecco la semplificazione.
La stringa del tipo di parametro per i due parametri viene qui omessa poiché può essere automaticamente
inserita dal compilatore.
Il compilatore immette il pipe dall'argomento che viene specificato anche nell'espressione di creazione dell'istanza. Lo stipendio anale
potrebbe non essere possibile per tutte le espressioni lambda.
Quindi, se il corpo coinvolge questa singola affermazione, possiamo avere qualcosa di simile con la base che
certe parole P e terminano il punto e virgola e siano omesse.
E questa è essenzialmente un'espressione.
Quindi in questo caso la sintassi generica sarebbe come questa.
E questa sarebbe la sintassi generica per i primi due esempi.
Lì abbiamo uno o più studenti.
Quindi abbiamo le parentesi e al loro interno le affermazioni.
Quindi queste sono alcune semplificazioni che possono essere eseguite per rendere l'espressione lambda ancora più compatta.
Nota che qui sappiamo che il concorrente è un'interfaccia di funzione.
Se non si tratta di un'interfaccia di funzione, si otterrebbe un errore del compilatore se si tentasse di analizzarlo.
Missione di Lambastes
Quella è un'espressione non può essere assegnata a un parametro di metodo su qualsiasi variabile il cui tipo
non sia nell'interfaccia funzionale.
Quindi l'espressione lambda è solo un'implementazione dell'interfaccia funzionale.
Ora, se ci pensi, ha anche senso.
Ad esempio, se consideriamo un'interfaccia che ha due metodi con nomi diversi sulla stessa lista di
parametri, se passiamo un compilatore di espressioni lambda non sapremo quale dei due metodi deve corrispondere alla
funzione lambda in quanto una funzione lambda non ne ha.
Quindi qui stiamo dicendo che l'interfaccia ha due metodi con nomi diversi ma quello stesso senza parametri e
il compilatore non saprà quale di queste due funzioni.
L'espressione lambda corrisponderebbe a.
Quindi deve essere un'interfaccia di funzione e questo sarebbe anche dimostrativo. Chartley Najla ha fatto alcuni
esempi di lambda.
Ecco il primo.
Rappresenta semplicemente un metodo che non accetta parametri e vede il bianco.
Questo rappresenta un metodo in un'interfaccia che crea un'istanza di un libro e stampa semplicemente il titolo del
libro.
Quindi il tipo scritto qui è anche abbastanza Ha avuto un libro così come un input e un valore booleano viene restituito
se la valutazione del box è maggiore o uguale il punto intero di un equipaggio verrebbe restituito qui è
una rappresentazione semplificata dello stesso esempio il il corpo del metodo è solo un'espressione, quindi nessuno usa tutto
l'ordine delle parole di destra e di chiave e poi invia CONAN. Ecco un'ulteriore semplificazione assumendo che il tipo del parametro
del metodo possa essere dedotto dal compilatore.
E questa sarebbe la forma più semplice possibile.
Nota che qui non ha senso perché esiste un solo parametro.
Quindi le parentesi non sono necessarie se abbiamo un solo parametro e la parentesi è obbligatoria.
Se abbiamo più di un parametro ci sono più parametri come on e in questo esempio viene scritta una stringa.
Quindi abbiamo un'espressione come corpo Hulver, non possiamo farlo.
E questo perché non è Garlett a dirlo.
E così dovrebbe essere.
Devi averlo letto e fatto il kiver Finalmente non puoi farlo perché non è un'esibizione.
È una dichiarazione.
Quindi se non hai parentesi allora dovrebbe essere un'espressione.
E se hai le parentesi graffe puoi avere una o più affermazioni o nessuna dichiarazione come nell'esempio.
Quindi questi sono alcuni esempi e indovina se è fonte di confusione.
Ho appena guardato la conferenza ancora una volta e dovrebbe essere molto utile sotto di loro in una lezione
che dovrebbe essere d'aiuto.
Nozette menzionato prima dell'8 luglio.
Le classi anonime hanno interpretato il ruolo di Lamanna.
Quindi ora la domanda è quali sono le differenze tra loro due.
Con una classe anonima si ha un oggetto associato e quindi c'è il sovraccarico del caricamento della classe ed
è anche di Lobo come si usa la nuova parola chiave seguita dal nome del supertipo e anche
i nomi dei metodi quando si definisce il ma con il Lambda che non è associato all'oggetto in quanto è implementato in modo diverso
sotto di esso in base alla scheda di istruzioni bytecode nel gruppo dinamico.
Quindi è più efficiente in quanto non dobbiamo creare un oggetto.
Di fatto Brian va a sapere chi è il progettista del linguaggio Java ha anche menzionato il fatto che uno
coinvolge le testate e si specifica il supporto che alcuni benchmark delle prestazioni fanno su come lambdas sia più efficiente dell'uso
di oggetti anonimi.
Un'altra parola che offre una rappresentazione più compatta senza il nuovo ordine delle parole chiave.
Intendo o il nome del metodo e sappiamo che gli oggetti anonimi vengono creati su ogni utilizzo a meno che non
vengano dichiarati come singleton usando la ricerca statica Alphaeus.
Spero che ricordiate che la memoria di Lambastes non è localizzata solo una volta il contachilometri.
Di qui pochissimo spazio di memoria usato con una classe anonima.
Il tipo di destinazione può avere più metodi sul tipo di destinazione non è altro che una classe o
un'interfaccia da cui la classe anonima sta ereditando.
Questa è l'implementazione di classi anonime, ma con Londa deve essere un'interfaccia funzionale.
Non può nemmeno essere una classe astratta con un unico metodo astratto.
Questo sarà anche il mostro nella prossima lezione.
Quindi queste sono le differenze tra le classi anonime su Lambda.
Lambdas è più efficiente e più compatto e prenota con solo interfacce funzionali.
Quindi questo è tutto.
E nella prossima lezione lo faremo.
Più di espressioni lambda.
Grazie.