Tutti sanno scrivere!

Sai scrivere?
Credo che se sei arrivato fin qui come minimo sai scrivere e magari sai anche leggere bene 😜.
E il computer? Lo sa fare? E come lo fa? Bene, io di preciso non lo so ma di sicuro non saprei spiegartelo😂 ma questo al momento non è di nostro interesse.
Quello che andremo a vedere oggi sono tutti i blocchi text (per il testo) che possiamo usare in Thunkable. Alcuni saranno banali, altri ci faranno capire che leggere e scrivere non è poi così facile nel momento in cui ci interfacciamo con un' applicazione e ancor meno con la sua programmazione.
Rimbocchiamoci le maniche!
I primi due blocchi (a,b) sono i più semplici e quelli che useremo fino alla noia, il primo serve per introdurre del testo e il secondo per unire (join) più parole o più testo insieme; il famoso ingranaggio ci permetterà di aumentare i livelli di inserimento. Nel momento in cui i dati non sono costanti sarà necessario comporre del testo fisso con una parte che cambia a seconda della necessità, magari salvata in una variabile o proveniente da una label o addirittura inserito dall'utente. In alcuni casi potremmo avere la necessità di contare quante lettere ci sono in un testo (c) ,saranno conteggiati anche gli spazi, oppure controllare semplicemente se non abbiamo del testo (d); il componente restituisce true (vero) se la lunghezza è zero oppure false (falso) nel caso contrario.
Ormai siete degli esperti e sapete bene che il triangolino vi permette di accedere a due o più opzioni differenti dello stesso componente, upcase (e) ti permetterà di trasformare tutto il testo in lettere maiuscole oppure il suo opposto downcase modificherà tutte le lettere in caratteri minuscoli. Per esempio si potrebbe utilizzare durante la procedura di log in per forzare il nome utente tutto maiuscolo per evitare problemi di case sensitive , utilizzare una lettera maiuscola o minuscola come potete ben capire è differente e può portare problemi durante la verifica di una parola. Sempre relativamente alla verifica di una parola o di un testo, oltre alla problematica case sensitive anche gli spazi sono fondamentali e hanno il loro peso come fossero un carattere , da qui la necessità magari di eliminare alcuni spazi come quelli prima o dopo una certa stringa di testo usando il componente trim (f). Il componente (g) ci permette di controllare un testo (text) e trovare la posizione di un determinato pezzo (piece) che potrà essere una lettera,una parola o anche più parole; l'indice che identifica la posizione sarà ricavato iniziando a contare da sinistra verso destra mentre risulterà zero se il pezzo non è presente. Split at spaces (h) produrrà una lista formata da tutte le parole ricavate tagliando il testo ad ogni spazio presente, mentre il blocco (i) ci farà accedere a 4 varianti ancora più specifiche.
Split text at (i.1) dividerà il testo formando una lista di tutti gli elementi ricavati tagliando il testo usando il termine inserito nello spazio at. Per esempio usando "," come divisore (at) con il testo pane,cioccolato,frutta avremo una lista (pane cioccolato frutta) di tre elementi distinti e senza la "," più presente come elemento; diversamente il blocco split at first text at (i.2) usato allo stesso modo e con la stessa modalità di prima formerà una lista di solo due elementi, quelli prima e quelli dopo la prima virgola trovata che sarà anche eliminata dalla lista ( pane       cioccolato,frutta ).
Split at any text at (list) (i.3) userà tutti gli elementi della lista inserita in at come punti di divisione per il testo, formerà poi una nuova lista con gli elementi che troverà prima o dopo il taglio ed eliminando il testo usato come divisorio; per esempio il testo pane,latte,frutta,pasta usando la lista divisoria con elementi (ne    tta) produrrà una lista ( pa    ,latte,fru    ,pasta).
Split at first of any text at (list) (i.4) avrà sempre come input divisorio una lista ma questa volta solo il primo elemento delle lista che sarà trovato nel testo funzionerà come divisorio per il testo creando una lista di solo due elementi, per esempio se il testo è pane,latte,frutta,pasta usando (latte frutta) come split list produrrà la nuova lista (pane,     ,frutta,pasta). Solo due elementi e notiamo che usando latte come punto di divisione rimarranno entrambe le virgole.
Tutte queste divisioni mi hanno fatto venire il mal di testa e pensare che fino ad ora non mai usato questi componenti ma saranno sicuramente fondamentali per le applicazioni di riconoscimento del testo, di scrittura o anche per qualche gioco\quiz.
Passiamo allora a qualcosa di più semplice tipo il blocco contains (j) che andrà a controllare se nel testo ritroviamo un determinato pezzo (piece) ritornando un valore vero/falso. Il blocco (k) estrae un pezzo dal testo dato (text) partendo da una determinata posizione (start) e avrà una certa lunghezza (length), l'idice 1 corrisponde all'inizio del testo. Se avete voglia di giocare a creare un dizionario o semplicemente dovete ordinare alfabeticamente delle parole non potrete non usare il componente (l) che compara il testo per vedere quale è < > o = , praticamente il testo maggiore è quello che si presenta prima nel dizionario e ricordate che le lettere maiuscole sono minori delle minuscole, quindi thunkable > Thunkable. Anche replace all text (m)sarà usato spesso, potrete rimpiazzare il testo inserito in segment con quello inserito in replacement, il controllo sarà effettuato su tutto quello che verrà aggiunto in text. Come nei migliori 007 questo messaggio si autodistruggerà 😄 ma noi siamo pacifisti e invece di distruggerli li proteggeremo nascondendoli con il blocco (n) consigliato quando manipoliamo informazioni sensibili per evitare che altre persone possano reperirle facilmente; sfortunatamente ha un livello di protezione basso quindi attenzione alle informazioni.
Last but not least (è una vita che volevo usare questa frase 😜) is a string? (o) ritorna vero se il testo che sta controllando è una stringa di codice, vi riporto l'esempio originale della documentazione: se  <code>thing</code>  è una stringa avremo in risposta vero. Per questi ultimi due componenti credetemi sulla parola perchè non li ho mai usati e facendo qualche prova non ho avuto l'esito immaginato 😅 ma ci fidiamo del team Thunkable.
E con questa abbiamo finito la sezione dedicata al testo, pensavate di dover usare tutti questi componenti per "parlare" con la vostra app? Vi consiglio come sempre di fare qualche prova che sarà utile per capire meglio cosa fanno i vari componenti e può essere utile per capire come gestire i dati che contengono testo e quindi come scriverli.
     

Commenti

Ciao, spero ti piaccia il blog. Se ti fa piacere qui puoi offrirmi un caffè!

Post popolari in questo blog

GOOGLE SCRIPT & KODULAR READ, WRITE, UPDATE, DELETE

Tu lo conosci THUNKABLE?