Smart CentralSmart Central
    Facebook Twitter Instagram
    Smart CentralSmart Central
    • Forum
    • iSpazio
    • Scontiamolo
    • Wallpapers Central
    • Smart Central
    Button
    • Forum
    • Home
    • Scopri Shortcuts
    • FAQs
    • Academy e Guide
    • Unisciti a noi
    • Chi Siamo
    • Contattaci
    Smart CentralSmart Central
    📚 Academy / Guide 3 ViewsNessun commento

    Tipi di Dato – La distinzione è tutto

    Dario MontalbanoBy Dario Montalbano7 Aprile 20206 Mins Read
    Facebook Twitter Email Telegram WhatsApp
    Share
    Facebook Twitter Telegram WhatsApp

    Oggi affronteremo un altro degli argomenti chiave che farà da fondamento al vostro modo di interagire e creare Comandi Rapidi: i Tipi di Dato.

    Advertising

    Cosa sono e come usarli?

    Prima di passare alla parte tecnica dell’argomento, lasciatemi giocare un po’ con quella teoria elementare che mi piace tanto.
    Se qualcuno vi dicesse: “qual’è il risultato della somma di 2 arance e due limoni?”

    Voi cosa rispondereste?

    Beh! è chiaro… di certo non fa 4 aramoni. Il risultato resterebbe 2 arance e 2 limoni.

    Qualcuno di voi, però, potrebbe optare per una soluzione pratica e realistica: mettere i quattro elementi all’interno di una busta, cosi da avere tutti gli elementi insieme.

    Beh! In questo modo continueremmo a non avere una risposta alla domanda iniziale, perchè il totale non sarebbe 4 arance e neanche 4 limoni ma solamente l’unione di 4 agrumi di due categorie differenti.

    Ma che c’entra tutto questo con Shortcuts o con la programmazione?

    Questa concatenazione di elementi differenti, per quanto possa essere anche “fattibile” nell’uso pratico di Shortcuts e sottoforma di tipi di dato differenti (un esempio banale potrebbe essere la concatenazione di numeri e stringhe), è importante che venga utilizzata con parsimonia e ben identificata all’operazione che si necessita svolgere.
    In molti altri contesti, invece, risulta essere poco pratica e, spesso, per nulla funzionale all’operatività da svolgere. Motivo per cui è bene saper riconoscere e differenziare, a priori, gli elementi appartenenti allo stesso tipo, cosi da poter eseguire operazioni e verifiche in modo pulito.

    Ma che vuol dire tutto questo? e che vuol dire: “dello stesso tipo?”

    Ritorniamo per un momento all’esempio degli agrumi e soffermiamoci sull’ovvio:
    Quando sei nel reparto ortofrutta di un supermercato e, nello specifico, nella sezione degli agrumi, sai ben distinguere quali sono le arance dai limoni e questa naturale distinzione è resa essenziale dall’esigenza di scegliere l’elemento giusto con il quale interagire in cucina.

    Quindi: L’appartenenza di un elemento specifico all’uso che ne va fatto

    Ecco! Questo distinzione è alla base di quanto stiamo affrontando oggi, e prende il nome di Type Safe o Tipizzazione.

    Prima di proseguire oltre, vorrei precisare che la Tipizzazione applicata all’uso di Shortcuts è molto debole rispetto ai linguaggi di programmazione, ma è necessario conoscerne i pregi e le dinamiche.

    Guarda un po’ che Tipi!

    Le tipologie di dato presenti all’interno di Shortcuts, come nella logica di qualunque strumento, sono molteplici e per capire il nesso che li accomuna – La tipizzazione – ne andremo a trattare 2 di uso molto comune: Stringhe e Numeri.

    Gestire i tipi Testo (o Stringhe)

    Partiamo subito con degli esempi pratici e osserviamo insieme il primo screen:

    Ho inserito un’azione di tipo Testo (o stringa) che ho subito assegnato ad una variabile di nome testo.

    Fin qui tutto semplice! Abbiamo una variabile che contiene un’oggetto/azione di tipo Testo (o stringa).

    Ma siamo sicuri che quella variabile sappia fornire la natura del suo contenuto all’azione/oggetto che tenterà di accedervi? la risposta è Ni. Cioè, non è sempre scontato. Per questo motivo esistono ulteriori azioni/oggetti che precedono il richiamo delle variabili e che consentono a noi stessi di forzare il tipo di dato che quella variabile contiene.

    Per esempio:

    1. Ottieni Testo dall’input (Per forzare il contenuto di un’entità ad essere di tipo Testo o Stringa)
    2. Ottieni i numeri dall’input (Per forzare il contenuto di un’entità ad essere di tipo Numerico)
    3. Ottieni contenuti pagine Web (Per forzare il contenuto di un’entità ad essere di tipo HTML)
    4. Ottieni date dall’input (Per forzare il contenuto di un’entità ad essere di tipo data)

    ecc…

    Vediamo subito cosa vuol dire tutto questo con un altro esempio:

    Nell’esempio è stata aggiunta un’azione/oggetto Niente (che serve solo per separare e ordinare le varie azioni) e, successivamente, un’azione/oggetto Se/Altrimenti (Affronteremo l’uso di questa azione/oggetto in un capitolo dedicato). A quest’ultima è stata applicata la variabile testo come Input. Se proviamo a cliccare su Condizioni, vedremo che la proposta delle condizioni è correlata al tipo di dato che l’azione/oggetto Se/Altrimenti ha ricevuto come Input: cioè un tipo Testo (o stringa). Se l’azione/oggetto Se/Altrimenti avesse ricevuto un numero come Input, la proposta sarebbe stata differente.

    Questo accade perchè l’app Comandi, nel suo dietro le quinte, riconosce ed etichetta le variabili con il tipo di dato corrispondente all’input ricevuto. Questo vuol dire che se Assegnamo un’azione/oggetto di tipo Testo (o stringa) ad una variabile, sarà cura dell’app Comandi  riconoscerne il tipo ed etichettare quella variabile come variabile di tipo Stringa/Testo. L’azione/oggetto che riceverà quella variabile come Input, saprà adattarsi al tipo di dato.

    A questo punto direte: “Bene, allora fa tutto da solo, perchè dovremmo preoccuparcene?”

    Purtroppo questo automatismo non è sempre favorevole e potrebbe capitare il caso in cui l’app Comandi non riesca a riconoscere ed etichettare la variabile in base al tipo di dato ricevuto. Vediamo subito un esempio pratico.

    Creaimo un nuovo Comando eseguendo questi passaggi:

    1. Inseriamo un’azione/oggetto Imposta la variabile e diamo testo come nome. Input lo lasciamo vuoto al momento
    2. Inseriamo un’azione/oggetto Niente per separare le prossime istruzioni
    3. Inseriamo l’azione/oggetto Se/Altrimenti e assegnamogli la variabile testo come input
    4. Adesso Inseriamo un’azione/oggetto di tipo Testo sopra ad Imposta la variabile. Successivamente, se non lo ha fatto in automatico, assegnamo l’azione/oggetto Testo come Input della variabile.
    5. Come potete vedere dallo screen precedente, siamo nella stassa situazione del secondo screen, ma se proviamo a cliccare sulle condizioni dell’azione/oggetto Se/Altrimenti, vedrete che le condizioni proposte non sono più le stesse della prima volta ma sono più generiche. Questo perchè Comandi non riconosce più il Tipo di dato contenuto nella variabile e non è in grado di stabilire che tipo di condizioni mostrare.

    Appare ben chiaro che per risolvere questa situazioni d’incertezza del dato, che sia con il Se/Altrimenti o con altre azioni/aggetti che accettano valori in Input,  è indispensabile intervenire a monte e forzare noi stessi il tipo di dato che deve essere passato come Input di un’azione/oggetto. Noi sappiamo sempre che tipo di dato diamo in pasto ad un’oggetto/azione, per cui è importante forzare il tipo per evotare inconvienenti di questo tipo.

    Se nell’esempio precedente avessimo anteposto un’azione/oggetto Ottieni testo dall’input all’azione/oggetto Se/Altrimenti, avremmo facilmente forzato l’azione/oggetto Se/Altrimenti ad interpretare il contenuto della variabile testo come di tipo Testo (o stringa).

    Ecco l’esempio

    Gestire i tipi Numero

    Partiamo subito con degli esempi pratici e osserviamo insieme il primo screen:

     

    Come esercizio di questa lezione, vi invito a completare, con il tipo Numero, le medesime dinamiche del tipo Testo.

    Ci leggiamo alla prossima!

    Advertising
    Academy Lessons

    Related Posts

    Fai parlare Siri su HomePod al verificarsi di un evento HomeKit

    15 Febbraio 2022

    Programmatori inconsapevoli

    25 Gennaio 2022

    Condizione – Presupposto necessario a uno scopo

    7 Agosto 2020
    Add A Comment
    Tags
    3dwwdc21 Academy appunti Christmoji Wallpaper comando rapido criptare Custom Wallpaper dual dual wallpapers dual widgets episodi featured followers immagini instagram ios 14 Lessons Libreria mewwdc mewwdc21 mewwdc22 mewwdc 2021 random serietv sfondi sfondo shortcut sicurezza speech stagioni text thank you wallpaper wallpapers wallpapers central wwdc Xmoji
    Facebook Twitter Instagram Pinterest
    • Shortcuts
    • Academy / Guide
    • Recensioni
    © Copyright 2025 iSpazio SRL | Partita IVA: 10137091210

    Type above and press Enter to search. Press Esc to cancel.