Scala Flatmap

Scala Flatmap
Abbiamo già parlato dell'uso delle mappe in Scala. Pertanto, oggi cercheremo di spostare un ulteriore passo avanti introducendoti in una funzione molto utile del linguaggio di programmazione Scala, i.e., Mappa piatta. A volte potresti voler convertire una diversa struttura di dati in una mappa. Inoltre, potresti anche voler appiattire questa mappa, io.e., separare gli elementi di questa mappa sotto forma di caratteri distinti. In questa guida, parleremo del metodo Flatmap del linguaggio di programmazione Scala che ci aiuterà.

Come utilizzare il metodo Flatmap in Scala?

Per capire come funziona il metodo Scala FlatMap, ti mostreremo prima un programma che produce gli stessi risultati del metodo Flatmap. Successivamente, condivideremo un altro programma di esempio che utilizza il metodo FlatMap. Confrontando i due programmi e i loro output tra loro, sarai in grado di vedere quanto sia utile utilizzare il metodo Flatmap in Scala. Questo sarà seguito da un altro esempio in cui utilizzeremo il metodo Flatmap di Scala con una funzione definita dall'utente. Ora, iniziamo spiegando tutti e tre questi esempi.

Esempio n. 1: creazione di una mappa da un elenco in Scala e appiattire la sua uscita senza utilizzare il metodo FlatMap:

In questo esempio, il nostro obiettivo è implementare un programma in grado di creare una mappa da un elenco utilizzando il metodo della mappa di Scala, e quindi vogliamo appiattire l'output di quella mappa utilizzando il metodo appiattito di Scala. Si noti che nello script Scala mostrato di seguito, useremo due diverse funzioni, i.e., mappa e appiattire, per ottenere la funzionalità desiderata.

Abbiamo creato un elenco di nomi in questo script Scala che contiene tre nomi diversi. Abbiamo anche usato l'istruzione "println" per la visualizzazione di questi nomi sul terminale. Quindi, abbiamo creato un valore chiamato "output1" e assegnato ad esso il risultato della funzione "mappa.(_.touppercase) ”che non solo convertirà l'elenco dato in una mappa, ma convertirà anche tutti i suoi alfabeti in maiuscolo. Quindi, volevamo anche stampare questo output sul terminale. Infine, abbiamo creato un altro valore chiamato "output2" e assegnato ad esso il risultato della funzione appiattita. Dopo aver effettuato questo incarico, abbiamo usato l'ennesima istruzione "println" per stampare questo output sul terminale.

Per creare un file eseguibile per questo script Scala, abbiamo usato il comando indicato di seguito:

$ Scalac Flatmap.Scala

Quindi, per l'esecuzione di questo file eseguibile, abbiamo usato il seguente comando:

$ Scala Flatmap

Ora è tempo di discutere l'output di questo script che viene mostrato nell'immagine seguente. Innanzitutto, tutti gli elementi dell'elenco sono stati visualizzati sul terminale. Quindi, il risultato del metodo della mappa è stato visualizzato sul terminale, i.e., Gli elementi dell'elenco dopo essere stati convertiti in maiuscolo sotto forma di una mappa. Infine, il risultato del metodo appiattito è stato visualizzato sul terminale, i.e., Gli elementi della mappa dopo aver rimosso il loro gruppo interno sono stati visualizzati sotto forma di caratteri distinti.

Esempio n. 2: creazione di una mappa da un elenco in Scala e appiattire la sua uscita con il metodo Flatmap:

Puoi vedere chiaramente dal programma mostrato sopra che per ottenere la funzionalità desiderata; Abbiamo dovuto eseguire due funzioni distinte. Ora, ti presenteremo uno script Scala che produrrà esattamente lo stesso output ma in modo più efficiente, io.e., Usando le righe minori di codice o, in altre parole, usando una singola funzione anziché due.

Abbiamo dichiarato un elenco di nomi nel nostro script Scala in questo esempio nello stesso modo in cui abbiamo fatto sopra. Dopo aver stampato gli elementi di questo elenco sul terminale, abbiamo creato un valore chiamato "output". Quindi, abbiamo semplicemente assegnato il risultato della funzione flatmap dopo aver convertito l'ingresso in maiuscolo con l'istruzione “Val output = nomi.flatmap (_.touppercase) ". Infine, abbiamo stampato tutto questo risultato sul terminale.

Si può vedere chiaramente dal seguente output che il risultato finale prodotto in questo esempio è esattamente lo stesso del nostro primo esempio. L'unica differenza è che siamo riusciti a bypassare un ulteriore passo in cui l'elenco è stato convertito per la prima volta in una mappa, e anche i suoi elementi sono stati cambiati in maiuscolo piuttosto che questa volta, tutto ha avuto luogo in una volta.

Esempio n. 3: utilizzando il metodo Scala FlatMap con una funzione definita dall'utente:

Ormai, avresti chiaramente compreso perché abbiamo usato il metodo Flatmap invece di usare la mappa e appiattire i metodi separatamente. Ora condivideremo semplicemente un altro esempio per portare più chiarezza all'uso della funzione FlatMap.

In questo script, abbiamo dichiarato per la prima volta un elenco di tre numeri. Dopo aver stampato questi numeri sul terminale, abbiamo creato un valore chiamato "output" e ci abbiamo assegnato il risultato di una funzione definita dall'utente che moltiplica semplicemente ogni elemento dell'elenco fornito con "2" e genera una mappa con esso usando la funzione flatmap. Quindi, abbiamo usato l'istruzione "Println" per visualizzare questa uscita sul terminale.

La seguente immagine mostra i risultati di questo script Scala sul terminale:

Conclusione:

Questo articolo ti ha introdotto il metodo Flatmap del linguaggio di programmazione Scala. Ti abbiamo insegnato per la prima volta il significato di questo metodo condividendo un esempio che non usa questo metodo. Successivamente, abbiamo evidenziato l'uso di questo metodo implementando un altro esempio che utilizza questo metodo. Infine, per elaborare di più questo utilizzo, abbiamo condiviso un altro esempio di questo metodo insieme a una funzione definita dall'utente. Passando attraverso questo tutorial, capirai immediatamente perché il metodo Flatmap viene utilizzato nel linguaggio di programmazione Scala.